rust-lang / rust-lang/rust

ICE `invalid immediate for given destination place: value ScalarPair(..) does not match ABI Scalar(..)`

Open
#148,498 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-impossible-bounds C-bug I-ICE needs-triage T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

auto-reduced (treereduce-rust):

//@compile-flags: -Zincremental-verify-ich=yes -Cincremental=<dir> -Cdebuginfo=2 -Clink-dead-code=true -Zvalidate-mir -Zquery-dep-graph -Zthreads=4 --edition=2024
struct TwoStrs([u8; panic! {"\t"}])
where
    str: Sized;

original:

struct TwoStrs([u8; panic! {"\t"}])
where
    str: Sized;

pub fn main() {}

Version information

rustc 1.93.0-nightly (e5efc3367 2025-11-04)
binary: rustc
commit-hash: e5efc336720901420a8891dcdb67ca0a475dc03c
commit-date: 2025-11-04
host: x86_64-unknown-linux-gnu
release: 1.93.0-nightly
LLVM version: 21.1.3

Possibly related line of code:
https://github.com/rust-lang/rust/blob/e5efc336720901420a8891dcdb67ca0a475dc03c/compiler/rustc_const_eval/src/interpret/operand.rs#L154-L166

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zincremental-verify-ich=yes -Cincremental=<dir> -Cdebuginfo=2 -Clink-dead-code=true -Zvalidate-mir -Zquery-dep-graph -Zthreads=4 --edition=2024

Program output

error[E0601]: `main` function not found in crate `mvce`
 --> /tmp/icemaker_global_tempdir.2ahAKITXrLSc/rustc_testrunner_tmpdir_reporting.vHhlNNesZZd3/mvce.rs:3:16
  |
3 |     str: Sized;
  |                ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.2ahAKITXrLSc/rustc_testrunner_tmpdir_reporting.vHhlNNesZZd3/mvce.rs`

error: internal compiler error: compiler/rustc_const_eval/src/interpret/operand.rs:160:17: invalid immediate for given destination place: value ScalarPair(alloc1<imm>, 0x0000000000000001) does not match ABI Scalar(Initialized { value: Pointer(AddressSpace(0)), valid_range: 1..=18446744073709551615 }))


thread 'rustc' (2004535) panicked at compiler/rustc_const_eval/src/interpret/operand.rs:160:17:
Box<dyn Any>
stack backtrace:
   0:     0x7fc9cd254dc3 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha3843b722cb6c079
   1:     0x7fc9cda01afc - core::fmt::write::h4cf6c21e30d6fd2c
   2:     0x7fc9cd209903 - std::io::Write::write_fmt::h4fff68ee9517b956
   3:     0x7fc9cd21af42 - std::sys::backtrace::BacktraceLock::print::he78023a1ddfd64ff
   4:     0x7fc9cd220f99 - std::panicking::default_hook::{{closure}}::h687012e2f8493e05
   5:     0x7fc9cd220ac3 - std::panicking::default_hook::h49a3243e28fcd9d0
   6:     0x7fc9cc228c61 - std[e5386f4e1d083f30]::panicking::update_hook::<alloc[73bcea237dbcc3ca]::boxed::Box<rustc_driver_impl[738a289c0901248e]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7fc9cd2213bf - std::panicking::panic_with_hook::hd8e4eb00c63c2672
   8:     0x7fc9cc265081 - std[e5386f4e1d083f30]::panicking::begin_panic::<rustc_errors[637030874c9f4630]::ExplicitBug>::{closure#0}
   9:     0x7fc9cc2573f6 - std[e5386f4e1d083f30]::sys::backtrace::__rust_end_short_backtrace::<std[e5386f4e1d083f30]::panicking::begin_panic<rustc_errors[637030874c9f4630]::ExplicitBug>::{closure#0}, !>
  10:     0x7fc9cc257035 - std[e5386f4e1d083f30]::panicking::begin_panic::<rustc_errors[637030874c9f4630]::ExplicitBug>
  11:     0x7fc9cc276401 - <rustc_errors[637030874c9f4630]::diagnostic::BugAbort as rustc_errors[637030874c9f4630]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:     0x7fc9cc7fcb1a - rustc_middle[75169061f14a0aad]::util::bug::opt_span_bug_fmt::<rustc_span[7dee8b18e8817fc5]::span_encoding::Span>::{closure#0}
  13:     0x7fc9cc7fcdfa - rustc_middle[75169061f14a0aad]::ty::context::tls::with_opt::<rustc_middle[75169061f14a0aad]::util::bug::opt_span_bug_fmt<rustc_span[7dee8b18e8817fc5]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x7fc9cc7edbfb - rustc_middle[75169061f14a0aad]::ty::context::tls::with_context_opt::<rustc_middle[75169061f14a0aad]::ty::context::tls::with_opt<rustc_middle[75169061f14a0aad]::util::bug::opt_span_bug_fmt<rustc_span[7dee8b18e8817fc5]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x7fc9ca5425f0 - rustc_middle[75169061f14a0aad]::util::bug::bug_fmt
  16:     0x7fc9cdf62eec - <rustc_const_eval[a4c858c576592380]::interpret::eval_context::InterpCx<rustc_const_eval[a4c858c576592380]::const_eval::machine::CompileTimeMachine>>::copy_op_no_validate::<rustc_const_eval[a4c858c576592380]::interpret::operand::OpTy, rustc_const_eval[a4c858c576592380]::interpret::place::PlaceTy>
  17:     0x7fc9cdfc0d8e - <rustc_const_eval[a4c858c576592380]::interpret::eval_context::InterpCx<rustc_const_eval[a4c858c576592380]::const_eval::machine::CompileTimeMachine>>::eval_rvalue_into_place
  18:     0x7fc9cdfba3e2 - rustc_const_eval[a4c858c576592380]::const_eval::eval_queries::eval_to_allocation_raw_provider
  19:     0x7fc9cdfb893e - rustc_query_impl[65b9d326d94058ea]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>
  20:     0x7fc9cdfb88f7 - <rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<(rustc_middle[75169061f14a0aad]::ty::context::TyCtxt, rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  21:     0x7fc9ce836ffb - <rustc_query_system[90325ef1b104597f]::query::plumbing::execute_job_incr<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<((rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>), rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  22:     0x7fc9ce839e32 - rustc_query_system[90325ef1b104597f]::query::plumbing::try_execute_query::<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, true>
  23:     0x7fc9ce8396da - rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::get_query_incr::__rust_end_short_backtrace
  24:     0x7fc9ce83750d - rustc_const_eval[a4c858c576592380]::const_eval::eval_queries::eval_to_const_value_raw_provider
  25:     0x7fc9ce837082 - rustc_query_impl[65b9d326d94058ea]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_const_value_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>
  26:     0x7fc9ce83703b - <rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_const_value_raw::dynamic_query::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<(rustc_middle[75169061f14a0aad]::ty::context::TyCtxt, rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  27:     0x7fc9ce836ffb - <rustc_query_system[90325ef1b104597f]::query::plumbing::execute_job_incr<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<((rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>), rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  28:     0x7fc9ce83b57a - rustc_query_system[90325ef1b104597f]::query::plumbing::try_execute_query::<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, true, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, true>
  29:     0x7fc9ce83adb2 - rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_const_value_raw::get_query_incr::__rust_end_short_backtrace
  30:     0x7fc9ce959c76 - <rustc_middle[75169061f14a0aad]::ty::context::TyCtxt>::const_eval_resolve
  31:     0x7fc9cdfc4280 - <rustc_const_eval[a4c858c576592380]::interpret::eval_context::InterpCx<rustc_const_eval[a4c858c576592380]::const_eval::machine::CompileTimeMachine>>::eval_rvalue_into_place
  32:     0x7fc9cdfba3e2 - rustc_const_eval[a4c858c576592380]::const_eval::eval_queries::eval_to_allocation_raw_provider
  33:     0x7fc9cdfb893e - rustc_query_impl[65b9d326d94058ea]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>
  34:     0x7fc9cdfb88f7 - <rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<(rustc_middle[75169061f14a0aad]::ty::context::TyCtxt, rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  35:     0x7fc9ce836ffb - <rustc_query_system[90325ef1b104597f]::query::plumbing::execute_job_incr<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<((rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>), rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  36:     0x7fc9ce839e32 - rustc_query_system[90325ef1b104597f]::query::plumbing::try_execute_query::<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, true>
  37:     0x7fc9ce8396da - rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_allocation_raw::get_query_incr::__rust_end_short_backtrace
  38:     0x7fc9ce833a04 - rustc_const_eval[a4c858c576592380]::const_eval::valtrees::eval_to_valtree
  39:     0x7fc9ce8337a5 - rustc_query_impl[65b9d326d94058ea]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_valtree::dynamic_query::{closure#2}::{closure#0}, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 16usize]>>
  40:     0x7fc9ce832ec3 - <rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_valtree::dynamic_query::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<(rustc_middle[75169061f14a0aad]::ty::context::TyCtxt, rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  41:     0x7fc9ce836ffb - <rustc_query_system[90325ef1b104597f]::query::plumbing::execute_job_incr<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[74e9d517ffeea944]::ops::function::FnOnce<((rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 24usize]>>, false, false, false>), rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>)>>::call_once
  42:     0x7fc9cede9cae - rustc_query_system[90325ef1b104597f]::query::plumbing::try_execute_query::<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_query_system[90325ef1b104597f]::query::caches::DefaultCache<rustc_middle[75169061f14a0aad]::ty::PseudoCanonicalInput<rustc_middle[75169061f14a0aad]::mir::interpret::GlobalId>, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, true>
  43:     0x7fc9cede955a - rustc_query_impl[65b9d326d94058ea]::query_impl::eval_to_valtree::get_query_incr::__rust_end_short_backtrace
  44:     0x7fc9cdbb6936 - <rustc_middle[75169061f14a0aad]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
  45:     0x7fc9cdbb55b4 - rustc_trait_selection[be944f82a5045606]::traits::try_evaluate_const
  46:     0x7fc9cdb954a2 - <rustc_trait_selection[be944f82a5045606]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[3c95d7b01b3a5184]::fold::TypeFolder<rustc_middle[75169061f14a0aad]::ty::context::TyCtxt>>::fold_const
  47:     0x7fc9cdb97415 - <rustc_middle[75169061f14a0aad]::ty::Ty as rustc_type_ir[3c95d7b01b3a5184]::fold::TypeSuperFoldable<rustc_middle[75169061f14a0aad]::ty::context::TyCtxt>>::super_fold_with::<rustc_trait_selection[be944f82a5045606]::traits::normalize::AssocTypeNormalizer>
  48:     0x7fc9ce4e0dfd - <rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::WfCheckingCtxt>::deeply_normalize::<rustc_middle[75169061f14a0aad]::ty::Ty>
  49:     0x7fc9ce4e65ee - rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::check_type_defn
  50:     0x7fc9ce2873a3 - rustc_hir_analysis[630917c900e5f64f]::check::check::check_item_type
  51:     0x7fc9ce28469c - rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::check_well_formed
  52:     0x7fc9ce284675 - rustc_query_impl[65b9d326d94058ea]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[65b9d326d94058ea]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 1usize]>>
  53:     0x7fc9cddc7aa1 - rustc_query_system[90325ef1b104597f]::query::plumbing::try_execute_query::<rustc_query_impl[65b9d326d94058ea]::DynamicConfig<rustc_data_structures[716369fb9beee067]::vec_cache::VecCache<rustc_span[7dee8b18e8817fc5]::def_id::LocalDefId, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[90325ef1b104597f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[65b9d326d94058ea]::plumbing::QueryCtxt, true>
  54:     0x7fc9cddca26d - rustc_query_impl[65b9d326d94058ea]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
  55:     0x7fc9cc3490fb - rustc_middle[75169061f14a0aad]::query::inner::query_ensure_error_guaranteed::<rustc_data_structures[716369fb9beee067]::vec_cache::VecCache<rustc_span[7dee8b18e8817fc5]::def_id::LocalDefId, rustc_middle[75169061f14a0aad]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[90325ef1b104597f]::dep_graph::graph::DepNodeIndex>, ()>
  56:     0x7fc9cc35645e - rustc_data_structures[716369fb9beee067]::sync::parallel::par_slice::par_rec::<&rustc_hir[71709be17c67fcbd]::hir::ItemId, rustc_data_structures[716369fb9beee067]::sync::parallel::try_par_for_each_in<&[rustc_hir[71709be17c67fcbd]::hir::ItemId], rustc_span[7dee8b18e8817fc5]::ErrorGuaranteed, <rustc_middle[75169061f14a0aad]::hir::ModuleItems>::par_items<rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::check_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}>
  57:     0x7fc9cc418757 - <rustc_thread_pool[67e4e2991aa033df]::job::StackJob<rustc_thread_pool[67e4e2991aa033df]::latch::SpinLatch, rustc_thread_pool[67e4e2991aa033df]::join::join_context<rustc_thread_pool[67e4e2991aa033df]::join::join::call<(), rustc_data_structures[716369fb9beee067]::sync::parallel::par_slice::par_rec<&rustc_hir[71709be17c67fcbd]::hir::ItemId, rustc_data_structures[716369fb9beee067]::sync::parallel::try_par_for_each_in<&[rustc_hir[71709be17c67fcbd]::hir::ItemId], rustc_span[7dee8b18e8817fc5]::ErrorGuaranteed, <rustc_middle[75169061f14a0aad]::hir::ModuleItems>::par_items<rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::check_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}>::{closure#1}>::{closure#0}, rustc_thread_pool[67e4e2991aa033df]::join::join::call<(), rustc_data_structures[716369fb9beee067]::sync::parallel::par_slice::par_rec<&rustc_hir[71709be17c67fcbd]::hir::ItemId, rustc_data_structures[716369fb9beee067]::sync::parallel::try_par_for_each_in<&[rustc_hir[71709be17c67fcbd]::hir::ItemId], rustc_span[7dee8b18e8817fc5]::ErrorGuaranteed, <rustc_middle[75169061f14a0aad]::hir::ModuleItems>::par_items<rustc_hir_analysis[630917c900e5f64f]::check::wfcheck::check_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}>::{closure#2}>::{closure#0}, (), ()>::{closure#0}::{closure#0}, ()> as rustc_thread_pool[67e4e2991aa033df]::job::Job>::execute
  58:     0x7fc9ccf2b53f - <rustc_thread_pool[67e4e2991aa033df]::registry::WorkerThread>::wait_or_steal_until_cold
  59:     0x7fc9ccf29e81 - <rustc_thread_pool[67e4e2991aa033df]::registry::ThreadBuilder>::run
  60:     0x7fc9cc220c8d - std[e5386f4e1d083f30]::sys::backtrace::__rust_begin_short_backtrace::<<rustc_thread_pool[67e4e2991aa033df]::ThreadPoolBuilder>::build_scoped<rustc_interface[bd0f1886b04bcc2f]::util::run_in_thread_pool_with_globals<rustc_interface[bd0f1886b04bcc2f]::interface::run_compiler<(), rustc_driver_impl[738a289c0901248e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[bd0f1886b04bcc2f]::util::run_in_thread_pool_with_globals<rustc_interface[bd0f1886b04bcc2f]::interface::run_compiler<(), rustc_driver_impl[738a289c0901248e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  61:     0x7fc9cc22bc52 - <<std[e5386f4e1d083f30]::thread::Builder>::spawn_unchecked_<<rustc_thread_pool[67e4e2991aa033df]::ThreadPoolBuilder>::build_scoped<rustc_interface[bd0f1886b04bcc2f]::util::run_in_thread_pool_with_globals<rustc_interface[bd0f1886b04bcc2f]::interface::run_compiler<(), rustc_driver_impl[738a289c0901248e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[bd0f1886b04bcc2f]::util::run_in_thread_pool_with_globals<rustc_interface[bd0f1886b04bcc2f]::interface::run_compiler<(), rustc_driver_impl[738a289c0901248e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#1} as core[74e9d517ffeea944]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  62:     0x7fc9ce89fc6f - std::sys::thread::unix::Thread::new::thread_start::h7bfb9de84f244c7c
  63:     0x7fc9c82969cb - <unknown>
  64:     0x7fc9c831aa0c - <unknown>
  65:                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.93.0-nightly (e5efc3367 2025-11-04) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z incremental-verify-ich=yes -C incremental=[REDACTED] -C debuginfo=2 -C link-dead-code=true -Z validate-mir -Z query-dep-graph -Z threads=4

query stack during panic:
#0 [eval_to_allocation_raw] const-evaluating + checking `TwoStrs::0::{constant#0}::promoted[0]`
#1 [eval_to_const_value_raw] simplifying constant for the type system `TwoStrs::0::{constant#0}::promoted[0]`
#2 [eval_to_allocation_raw] const-evaluating + checking `TwoStrs::0::{constant#0}`
#3 [eval_to_valtree] evaluating type-level constant
#4 [check_well_formed] checking that `TwoStrs` is well-formed
#5 [check_type_wf] checking that types are well-formed
#6 [analysis] running analysis passes on crate `mvce`
end of query stack
error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0601`.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reduced reproducer in the issue and the rustc_const_eval interpreter code at compiler/rustc_const_eval/src/interpret/operand.rs:154-166. Run the listed nightly rustc command with the provided flags, then trace the const-evaluation path shown in the backtrace. Done means the reproducer no longer triggers the invalid-immediate ICE and the behavior is covered by an appropriate compiler test.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.