Open
Description
snippet:
//@compile-flags: -Zmir-enable-passes=+Inline -Zmir-enable-passes=+JumpThreading --crate-type=lib
pub fn problem_thingy(items: &mut impl Iterator<Item = str>) {
let mut peeker = items.peekable();
match peeker.peek() {
Some(_) => (),
None => return (),
}
}
Version information
rustc 1.86.0-nightly (6dd75f0d6 2025-02-02)
binary: rustc
commit-hash: 6dd75f0d6802f56564f5f9c947a85ded286d3986
commit-date: 2025-02-02
host: x86_64-unknown-linux-gnu
release: 1.86.0-nightly
LLVM version: 19.1.7
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zmir-enable-passes=+Inline -Zmir-enable-passes=+JumpThreading --crate-type=lib
Program output
error: internal compiler error: /rustc/6dd75f0d6802f56564f5f9c947a85ded286d3986/compiler/rustc_const_eval/src/interpret/operand.rs:157:17: invalid field type in Immediate::offset: value Scalar(0x0000000000000000) does not match ABI ScalarPair(Initialized { value: Pointer(AddressSpace(0)), valid_range: 1..=18446744073709551615 }, Initialized { value: Int(I64, false), valid_range: 0..=18446744073709551615 }))
thread 'rustc' panicked at /rustc/6dd75f0d6802f56564f5f9c947a85ded286d3986/compiler/rustc_const_eval/src/interpret/operand.rs:157:17:
Box<dyn Any>
stack backtrace:
0: 0x74a71602ed50 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hbfd757a12de5328f
1: 0x74a716814826 - core::fmt::write::h8a36a2b16afbec2c
2: 0x74a717b39a51 - std::io::Write::write_fmt::h405e3b74afe27f82
3: 0x74a71602ebb2 - std::sys::backtrace::BacktraceLock::print::h83c9aa10f541661c
4: 0x74a716031032 - std::panicking::default_hook::{{closure}}::h720ed0d152826500
5: 0x74a716030eba - std::panicking::default_hook::hfc73f50ca652e2b3
6: 0x74a715189389 - std[ff511cecd2b9d7cf]::panicking::update_hook::<alloc[c4f21c44eb49384f]::boxed::Box<rustc_driver_impl[b88f56deeb7372ac]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x74a716031bb3 - std::panicking::rust_panic_with_hook::h73e8d76e64e48546
8: 0x74a7151c4051 - std[ff511cecd2b9d7cf]::panicking::begin_panic::<rustc_errors[bb44e506870335f6]::ExplicitBug>::{closure#0}
9: 0x74a7151b8fc6 - std[ff511cecd2b9d7cf]::sys::backtrace::__rust_end_short_backtrace::<std[ff511cecd2b9d7cf]::panicking::begin_panic<rustc_errors[bb44e506870335f6]::ExplicitBug>::{closure#0}, !>
10: 0x74a7151b8fad - std[ff511cecd2b9d7cf]::panicking::begin_panic::<rustc_errors[bb44e506870335f6]::ExplicitBug>
11: 0x74a7151cdfa1 - <rustc_errors[bb44e506870335f6]::diagnostic::BugAbort as rustc_errors[bb44e506870335f6]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
12: 0x74a7157b3bf3 - rustc_middle[f2fffebf67d4dac6]::util::bug::opt_span_bug_fmt::<rustc_span[4bd220f521370a86]::span_encoding::Span>::{closure#0}
13: 0x74a71579cb7a - rustc_middle[f2fffebf67d4dac6]::ty::context::tls::with_opt::<rustc_middle[f2fffebf67d4dac6]::util::bug::opt_span_bug_fmt<rustc_span[4bd220f521370a86]::span_encoding::Span>::{closure#0}, !>::{closure#0}
14: 0x74a71579ca0b - rustc_middle[f2fffebf67d4dac6]::ty::context::tls::with_context_opt::<rustc_middle[f2fffebf67d4dac6]::ty::context::tls::with_opt<rustc_middle[f2fffebf67d4dac6]::util::bug::opt_span_bug_fmt<rustc_span[4bd220f521370a86]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
15: 0x74a71394fe70 - rustc_middle[f2fffebf67d4dac6]::util::bug::bug_fmt
16: 0x74a71823d7cd - <rustc_const_eval[fd121c9846faaa35]::interpret::operand::Immediate>::assert_matches_abi::<rustc_const_eval[fd121c9846faaa35]::interpret::eval_context::InterpCx<rustc_const_eval[fd121c9846faaa35]::const_eval::dummy_machine::DummyMachine>>.cold
17: 0x74a71734c022 - <rustc_const_eval[fd121c9846faaa35]::interpret::operand::ImmTy>::offset_::<rustc_const_eval[fd121c9846faaa35]::interpret::eval_context::InterpCx<rustc_const_eval[fd121c9846faaa35]::const_eval::dummy_machine::DummyMachine>>
18: 0x74a71734aa0d - <rustc_const_eval[fd121c9846faaa35]::interpret::operand::OpTy as rustc_const_eval[fd121c9846faaa35]::interpret::projection::Projectable<rustc_middle[f2fffebf67d4dac6]::mir::interpret::pointer::CtfeProvenance>>::offset_with_meta::<rustc_const_eval[fd121c9846faaa35]::const_eval::dummy_machine::DummyMachine>
19: 0x74a717367411 - <rustc_mir_dataflow[bb806dd31a4a8e17]::value_analysis::Map>::for_each_projection_value::<rustc_const_eval[fd121c9846faaa35]::interpret::operand::OpTy, <rustc_mir_transform[8d321f23de625b13]::jump_threading::TOFinder>::process_constant::{closure#0}, <rustc_mir_transform[8d321f23de625b13]::jump_threading::TOFinder>::process_constant::{closure#1}>
20: 0x74a717363c88 - <rustc_mir_transform[8d321f23de625b13]::jump_threading::TOFinder>::process_operand
21: 0x74a717364283 - <rustc_mir_transform[8d321f23de625b13]::jump_threading::TOFinder>::find_opportunity
22: 0x74a717365407 - <rustc_mir_transform[8d321f23de625b13]::jump_threading::TOFinder>::find_opportunity
23: 0x74a7173619c4 - <rustc_mir_transform[8d321f23de625b13]::jump_threading::JumpThreading as rustc_mir_transform[8d321f23de625b13]::pass_manager::MirPass>::run_pass
24: 0x74a7168044a2 - rustc_mir_transform[8d321f23de625b13]::pass_manager::run_passes_inner
25: 0x74a716d5068e - rustc_mir_transform[8d321f23de625b13]::optimized_mir
26: 0x74a716d4fe8d - rustc_query_impl[d8c178d2a03c64a0]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d8c178d2a03c64a0]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f2fffebf67d4dac6]::query::erase::Erased<[u8; 8usize]>>
27: 0x74a716b30f9f - rustc_query_system[6dc7d387dd994d75]::query::plumbing::try_execute_query::<rustc_query_impl[d8c178d2a03c64a0]::DynamicConfig<rustc_query_system[6dc7d387dd994d75]::query::caches::DefIdCache<rustc_middle[f2fffebf67d4dac6]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d8c178d2a03c64a0]::plumbing::QueryCtxt, false>
28: 0x74a716b3039f - rustc_query_impl[d8c178d2a03c64a0]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
29: 0x74a71738a6a9 - rustc_middle[f2fffebf67d4dac6]::query::plumbing::query_get_at::<rustc_query_system[6dc7d387dd994d75]::query::caches::DefIdCache<rustc_middle[f2fffebf67d4dac6]::query::erase::Erased<[u8; 8usize]>>>
30: 0x74a717391a71 - <rustc_metadata[5919056398511050]::rmeta::encoder::EncodeContext>::encode_crate_root
31: 0x74a71799a468 - rustc_metadata[5919056398511050]::rmeta::encoder::encode_metadata
32: 0x74a7177bf036 - rustc_metadata[5919056398511050]::fs::encode_and_write_metadata
33: 0x74a7177bdece - <rustc_interface[2006dbae419e0802]::queries::Linker>::codegen_and_build_linker
34: 0x74a7177625df - rustc_interface[2006dbae419e0802]::passes::create_and_enter_global_ctxt::<core[27041657fc19ee73]::option::Option<rustc_interface[2006dbae419e0802]::queries::Linker>, rustc_driver_impl[b88f56deeb7372ac]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
35: 0x74a717741c73 - rustc_interface[2006dbae419e0802]::interface::run_compiler::<(), rustc_driver_impl[b88f56deeb7372ac]::run_compiler::{closure#0}>::{closure#1}
36: 0x74a7176a83f5 - std[ff511cecd2b9d7cf]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[2006dbae419e0802]::util::run_in_thread_with_globals<rustc_interface[2006dbae419e0802]::util::run_in_thread_pool_with_globals<rustc_interface[2006dbae419e0802]::interface::run_compiler<(), rustc_driver_impl[b88f56deeb7372ac]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
37: 0x74a7176a80d9 - <<std[ff511cecd2b9d7cf]::thread::Builder>::spawn_unchecked_<rustc_interface[2006dbae419e0802]::util::run_in_thread_with_globals<rustc_interface[2006dbae419e0802]::util::run_in_thread_pool_with_globals<rustc_interface[2006dbae419e0802]::interface::run_compiler<(), rustc_driver_impl[b88f56deeb7372ac]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[27041657fc19ee73]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
38: 0x74a7176a786b - std::sys::pal::unix::thread::Thread::new::thread_start::hb57557dfe1a8d225
39: 0x74a7118a339d - <unknown>
40: 0x74a71192849c - <unknown>
41: 0x0 - <unknown>
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: please make sure that you have updated to the latest nightly
note: rustc 1.86.0-nightly (6dd75f0d6 2025-02-02) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z mir-enable-passes=+Inline -Z mir-enable-passes=+JumpThreading --crate-type lib -Z dump-mir-dir=dir
query stack during panic:
#0 [optimized_mir] optimizing MIR for `problem_thingy`
end of query stack
error: aborting due to 1 previous error
cc #135020