Closed
Description
Code
pub fn main() {break;}
This is one of the many (30+) examples where code that would normally produce a compiler error ICEs with -Zunpretty=thir-tree
instead of making the compiler quit early. Garbage in, garbage out, I guess...?
(Usually rustc also prints the thir before panicking with a delay_span_bug but in this example it just crashes right away)
Meta
rustc --version --verbose
:
rustc 1.52.0-nightly (77b996e1c 2021-03-12)
binary: rustc
commit-hash: 77b996e1c628e8089f058244b011a2ee945a8984
commit-date: 2021-03-12
host: x86_64-unknown-linux-gnu
release: 1.52.0-nightly
LLVM version: 12.0.0
Error output
error: internal compiler error: compiler/rustc_mir_build/src/thir/cx/expr.rs:585:29: invalid loop id for break: not inside loop scope
thread 'rustc' panicked at 'Box<Any>', /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/panic.rs:59:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.52.0-nightly (77b996e1c 2021-03-12) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z unpretty=thir-tree
query stack during panic:
end of query stack
error: aborting due to previous error
Backtrace
error: internal compiler error: compiler/rustc_mir_build/src/thir/cx/expr.rs:585:29: invalid loop id for break: not inside loop scope
thread 'rustc' panicked at 'Box<Any>', /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/panic.rs:59:5
stack backtrace:
0: 0x7f6d39c20930 - std::backtrace_rs::backtrace::libunwind::trace::hfe3b1cace85e87d8
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0x7f6d39c20930 - std::backtrace_rs::backtrace::trace_unsynchronized::h542330af06479043
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f6d39c20930 - std::sys_common::backtrace::_print_fmt::h6b88726367858985
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7f6d39c20930 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hcd76ce6b485adbea
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/sys_common/backtrace.rs:46:22
4: 0x7f6d39c8eb6f - core::fmt::write::h127419eb46f2ecc9
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/core/src/fmt/mod.rs:1092:17
5: 0x7f6d39c14a42 - std::io::Write::write_fmt::h0facb64ef2e7f5d8
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/io/mod.rs:1567:15
6: 0x7f6d39c24675 - std::sys_common::backtrace::_print::h7bf1633ea5421f7b
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/sys_common/backtrace.rs:49:5
7: 0x7f6d39c24675 - std::sys_common::backtrace::print::h5cc4d09049928ba5
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/sys_common/backtrace.rs:36:9
8: 0x7f6d39c24675 - std::panicking::default_hook::{{closure}}::h9e84dc005bfc9fc7
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/panicking.rs:208:50
9: 0x7f6d39c241d3 - std::panicking::default_hook::h123278a03b1f796b
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/panicking.rs:225:9
10: 0x7f6d3a40dd7b - rustc_driver::report_ice::h036d06dbb7c2c24c
11: 0x7f6d39c24de0 - std::panicking::rust_panic_with_hook::h4040631aa6c7bc27
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/panicking.rs:595:17
12: 0x7f6d3b6a3ede - std::panicking::begin_panic::{{closure}}::h0abb5253ab075164
13: 0x7f6d3b6a3ca9 - std::sys_common::backtrace::__rust_end_short_backtrace::h9aa3e56bb7d07a9b
14: 0x7f6d3b6a3e82 - std::panicking::begin_panic::ha670be3d93fe1b10
15: 0x7f6d3b6977e0 - std::panic::panic_any::hfe379233f726f2b8
16: 0x7f6d3b69a95a - rustc_errors::HandlerInner::bug::h301c6b8b1ce8b93d
17: 0x7f6d3b69a433 - rustc_errors::Handler::bug::hf51c5d31a61af6b8
18: 0x7f6d3b5eed3c - rustc_middle::ty::context::tls::with_opt::h3eebcae120721f0c
19: 0x7f6d3b5f1c60 - rustc_middle::util::bug::opt_span_bug_fmt::hc7e27b731671e399
20: 0x7f6d3b5f1bd6 - rustc_middle::util::bug::bug_fmt::h0c7e25699bfb20a5
21: 0x7f6d3bc377e4 - rustc_mir_build::thir::cx::expr::<impl rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted::h5aa16712dc263b93
22: 0x7f6d3bc33237 - rustc_mir_build::thir::cx::expr::<impl rustc_mir_build::thir::cx::Cx>::mirror_expr_inner::h22438b418b9affb2
23: 0x7f6d3bc42a9a - rustc_data_structures::stack::ensure_sufficient_stack::hd9822442d2c45e9b
24: 0x7f6d3bc3de2a - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::he281555a93179b82
25: 0x7f6d3bc3a718 - <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend::hcd56e6c45b33c13a
26: 0x7f6d3bc2af03 - rustc_mir_build::thir::arena::Arena::alloc_from_iter::ha88992c4e6ec4acc
27: 0x7f6d3bc3441e - rustc_mir_build::thir::cx::expr::<impl rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted::h5aa16712dc263b93
28: 0x7f6d3bc33237 - rustc_mir_build::thir::cx::expr::<impl rustc_mir_build::thir::cx::Cx>::mirror_expr_inner::h22438b418b9affb2
29: 0x7f6d3bc42a9a - rustc_data_structures::stack::ensure_sufficient_stack::hd9822442d2c45e9b
30: 0x7f6d3bc32801 - rustc_mir_build::thir::cx::build_thir::hca8a76b024fe179a
31: 0x7f6d3a413448 - rustc_driver::pretty::print_after_hir_lowering::h5bce238744c8dbc6
32: 0x7f6d3a44e411 - rustc_interface::passes::QueryContext::enter::h97517f6cb7f2d9ae
33: 0x7f6d3c19bbe0 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::h8ab0a704bae2634f
34: 0x7f6d3c196024 - rustc_span::with_source_map::h512fd197bcd2b7c3
35: 0x7f6d3c19b113 - scoped_tls::ScopedKey<T>::set::hd407f010a973eb63
36: 0x7f6d3c19c921 - std::sys_common::backtrace::__rust_begin_short_backtrace::h3c42279179caa5db
37: 0x7f6d3c1b7cf5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hd56f564efc764ea1
38: 0x7f6d39c34258 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd8ea7ada17dfa868
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/alloc/src/boxed.rs:1546:9
39: 0x7f6d39c34258 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h91ce3a636c58b978
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/alloc/src/boxed.rs:1546:9
40: 0x7f6d39c34258 - std::sys::unix::thread::Thread::new::thread_start::h2e193c2e23720fdf
at /rustc/77b996e1c628e8089f058244b011a2ee945a8984/library/std/src/sys/unix/thread.rs:71:17
41: 0x7f6d39b3d299 - start_thread
42: 0x7f6d39a52053 - clone
43: 0x0 - <unknown>
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.52.0-nightly (77b996e1c 2021-03-12) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z unpretty=thir-tree
query stack during panic:
end of query stack
error: aborting due to previous error