[ICE]: `upvar_tys called before capture types are inferred`
Open
Nobody has claimed this yet.
C-bug
F-transmutability
F-unboxed_closures
I-ICE
T-compiler
WG-trait-system-refactor
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.2k
- PR merge metrics
- PR metrics pending
Description
Code
#![feature(transmutability)]
#![feature(unboxed_closures)]
fn main() ->impl std::mem::TransmuteFrom() {
|| {}
}
Meta
rustc --version --verbose:
rustc 1.94.0-nightly (fe98ddcfc 2026-01-17)
binary: rustc
commit-hash: fe98ddcfcfb6f185dbf4adeaf439d8a756da0273
commit-date: 2026-01-17
host: x86_64-unknown-linux-gnu
release: 1.94.0-nightly
LLVM version: 21.1.8
Error output
rustc code.rs -Znext-solver=globally
error[E0220]: associated type `Output` not found for `TransmuteFrom`
--> code.rs:3:28
|
3 | fn main() ->impl std::mem::TransmuteFrom() {
| ^^^^^^^^^^^^^^^ associated type `Output` not found
Backtrace
thread 'rustc' (2152898) panicked at /rustc-dev/fe98ddcfcfb6f185dbf4adeaf439d8a756da0273/compiler/rustc_type_ir/src/ty_kind/closure.rs:165:29:
upvar_tys called before capture types are inferred
stack backtrace:
0: 0x7fd34fa42f93 - <<std[7637d35b2e73f491]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e59341b65d367131]::fmt::Display>::fmt
1: 0x7fd35000e2c8 - core[e59341b65d367131]::fmt::write
2: 0x7fd34fa59986 - <std[7637d35b2e73f491]::sys::stdio::unix::Stderr as std[7637d35b2e73f491]::io::Write>::write_fmt
3: 0x7fd34fa19008 - std[7637d35b2e73f491]::panicking::default_hook::{closure#0}
4: 0x7fd34fa366c3 - std[7637d35b2e73f491]::panicking::default_hook
5: 0x7fd34ea0b7fa - std[7637d35b2e73f491]::panicking::update_hook::<alloc[e4cd1c42012959c4]::boxed::Box<rustc_driver_impl[1a3eae45778b1a3a]::install_ice_hook::{closure#1}>>::{closure#0}
6: 0x7fd34fa369a2 - std[7637d35b2e73f491]::panicking::panic_with_hook
7: 0x7fd34fa190fa - std[7637d35b2e73f491]::panicking::panic_handler::{closure#0}
8: 0x7fd34fa0d579 - std[7637d35b2e73f491]::sys::backtrace::__rust_end_short_backtrace::<std[7637d35b2e73f491]::panicking::panic_handler::{closure#0}, !>
9: 0x7fd34fa1ab9d - __rustc[f6c708c0d8e4bdd6]::rust_begin_unwind
10: 0x7fd34cce91fc - core[e59341b65d367131]::panicking::panic_fmt
11: 0x7fd3509806bd - rustc_ty_utils[f823f1d5efade7eb]::layout::layout_of_uncached
12: 0x7fd350974589 - rustc_ty_utils[f823f1d5efade7eb]::layout::layout_of
13: 0x7fd3509744f0 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::layout_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 16usize]>>
14: 0x7fd3509735d7 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::DefaultCache<rustc_middle[f49c2f37af7e8c7e]::ty::PseudoCanonicalInput<rustc_middle[f49c2f37af7e8c7e]::ty::Ty>, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 16usize]>>, false, true, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
15: 0x7fd3509731f4 - rustc_query_impl[f993d76296ac3ede]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
16: 0x7fd34f95f028 - rustc_transmute[a79904f2c7e85e92]::layout::rustc::layout_of
17: 0x7fd34f95d0a2 - <rustc_transmute[a79904f2c7e85e92]::layout::tree::Tree<rustc_transmute[a79904f2c7e85e92]::layout::rustc::Def, rustc_middle[f49c2f37af7e8c7e]::ty::region::Region, rustc_middle[f49c2f37af7e8c7e]::ty::Ty>>::from_ty
18: 0x7fd34f956d84 - <rustc_transmute[a79904f2c7e85e92]::rustc::TransmuteTypeEnv>::is_transmutable
19: 0x7fd34f88a775 - <rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate as rustc_next_trait_solver[170a8c4b65e982f7]::delegate::SolverDelegate>::is_transmutable
20: 0x7fd34ed755b0 - <rustc_type_ir[a44b4988878e9ab6]::predicate::TraitPredicate<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt> as rustc_next_trait_solver[170a8c4b65e982f7]::solve::assembly::GoalKind<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::consider_builtin_transmute_candidate
21: 0x7fd3514ba564 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::assemble_builtin_impl_candidates::<rustc_type_ir[a44b4988878e9ab6]::predicate::TraitPredicate<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>
22: 0x7fd350ec757e - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::assemble_and_evaluate_candidates::<rustc_type_ir[a44b4988878e9ab6]::predicate::TraitPredicate<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>
23: 0x7fd351252e29 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::compute_trait_goal
24: 0x7fd350edad22 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate> as rustc_type_ir[a44b4988878e9ab6]::search_graph::Delegate>::compute_goal::{closure#0}
25: 0x7fd350ed9d8d - <rustc_type_ir[a44b4988878e9ab6]::search_graph::SearchGraph<rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate>, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal::{closure#0}::{closure#2}
26: 0x7fd350c1d8c5 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal_raw
27: 0x7fd350c4178d - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::try_evaluate_added_goals
28: 0x7fd350c2bef1 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_added_goals_and_make_canonical_response
29: 0x7fd350edce53 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate> as rustc_type_ir[a44b4988878e9ab6]::search_graph::Delegate>::compute_goal::{closure#0}
30: 0x7fd350ed9d8d - <rustc_type_ir[a44b4988878e9ab6]::search_graph::SearchGraph<rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate>, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal::{closure#0}::{closure#2}
31: 0x7fd350c1d8c5 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal_raw
32: 0x7fd350c41b0a - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::try_evaluate_added_goals
33: 0x7fd350edb072 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate> as rustc_type_ir[a44b4988878e9ab6]::search_graph::Delegate>::compute_goal::{closure#0}
34: 0x7fd350ed9d8d - <rustc_type_ir[a44b4988878e9ab6]::search_graph::SearchGraph<rustc_next_trait_solver[170a8c4b65e982f7]::solve::search_graph::SearchGraphDelegate<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate>, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal::{closure#0}::{closure#2}
35: 0x7fd350c1d8c5 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::evaluate_goal_raw
36: 0x7fd350c3dd11 - <rustc_trait_selection[ea11fdd225b236a7]::solve::fulfill::FulfillmentCtxt<rustc_trait_selection[ea11fdd225b236a7]::traits::FulfillmentError> as rustc_infer[66736765ef873b69]::traits::engine::TraitEngine<rustc_trait_selection[ea11fdd225b236a7]::traits::FulfillmentError>>::try_evaluate_obligations
37: 0x7fd35035a211 - <rustc_hir_typeck[cda3b2c1a48d49f5]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
38: 0x7fd350339e33 - rustc_hir_typeck[cda3b2c1a48d49f5]::check::check_fn
39: 0x7fd350d7ccf3 - rustc_hir_typeck[cda3b2c1a48d49f5]::typeck_with_inspect::{closure#0}
40: 0x7fd350d7b674 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
41: 0x7fd35016ecaa - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
42: 0x7fd35016e589 - rustc_query_impl[f993d76296ac3ede]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
43: 0x7fd350526cf6 - rustc_mir_build[916b7e25050224b]::thir::pattern::check_match::check_match
44: 0x7fd35052609f - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>>
45: 0x7fd35077b4f8 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
46: 0x7fd35077b1bd - rustc_query_impl[f993d76296ac3ede]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
47: 0x7fd3505022eb - rustc_mir_build[916b7e25050224b]::builder::build_mir_inner_impl
48: 0x7fd350008dea - rustc_mir_transform[8e6f1eb7ff0fdc6d]::mir_built
49: 0x7fd350008db3 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
50: 0x7fd35016ecaa - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
51: 0x7fd35016e709 - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
52: 0x7fd35004f797 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::ffi_unwind_calls::has_ffi_unwind_calls
53: 0x7fd35004f1a9 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>>
54: 0x7fd35077b4f8 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
55: 0x7fd35077b07d - rustc_query_impl[f993d76296ac3ede]::query_impl::has_ffi_unwind_calls::get_query_non_incr::__rust_end_short_backtrace
56: 0x7fd350d0eda9 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::mir_promoted
57: 0x7fd350d0ebd2 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 16usize]>>
58: 0x7fd350a5bcb5 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
59: 0x7fd350a5b84c - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
60: 0x7fd35111a125 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
61: 0x7fd35016ecaa - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
62: 0x7fd350165a19 - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
63: 0x7fd350ffd035 - rustc_hir_analysis[5017dacce67ac1a4]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
64: 0x7fd350ffccb8 - rustc_hir_analysis[5017dacce67ac1a4]::collect::type_of::type_of_opaque
65: 0x7fd350ffcba3 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
66: 0x7fd350017c45 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::DefIdCache<rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
67: 0x7fd35123841b - rustc_query_impl[f993d76296ac3ede]::query_impl::type_of_opaque::get_query_non_incr::__rust_end_short_backtrace
68: 0x7fd3507bb7b6 - rustc_hir_analysis[5017dacce67ac1a4]::collect::type_of::type_of
69: 0x7fd35018f866 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
70: 0x7fd350017c45 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::DefIdCache<rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
71: 0x7fd3500177ef - rustc_query_impl[f993d76296ac3ede]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
72: 0x7fd350ffd73b - rustc_hir_analysis[5017dacce67ac1a4]::check::check::check_opaque
73: 0x7fd350783e78 - rustc_hir_analysis[5017dacce67ac1a4]::check::check::check_item_type
74: 0x7fd35077bd1c - rustc_hir_analysis[5017dacce67ac1a4]::check::wfcheck::check_well_formed
75: 0x7fd35077bceb - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>>
76: 0x7fd35077b763 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_data_structures[ab77da159d78a1fb]::vec_cache::VecCache<rustc_span[d2f47af3535269a]::def_id::LocalDefId, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[11b36a7129bd2e9f]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
77: 0x7fd35077b256 - rustc_query_impl[f993d76296ac3ede]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
78: 0x7fd350778a51 - rustc_hir_analysis[5017dacce67ac1a4]::check::wfcheck::check_type_wf
79: 0x7fd3507788dd - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>>
80: 0x7fd3511f90d1 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::SingleCache<rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
81: 0x7fd3511f8d82 - rustc_query_impl[f993d76296ac3ede]::query_impl::check_type_wf::get_query_non_incr::__rust_end_short_backtrace
82: 0x7fd350814296 - rustc_hir_analysis[5017dacce67ac1a4]::check_crate
83: 0x7fd350162e5b - rustc_interface[70956b6af7f02b7a]::passes::analysis
84: 0x7fd350162ab5 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 0usize]>>
85: 0x7fd3511f9e23 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::SingleCache<rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
86: 0x7fd3511f9c0e - rustc_query_impl[f993d76296ac3ede]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
87: 0x7fd351217dd1 - <rustc_interface[70956b6af7f02b7a]::passes::create_and_enter_global_ctxt<core[e59341b65d367131]::option::Option<rustc_interface[70956b6af7f02b7a]::queries::Linker>, rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[e59341b65d367131]::ops::function::FnOnce<(&rustc_session[ef90395b1d579b60]::session::Session, rustc_middle[f49c2f37af7e8c7e]::ty::context::CurrentGcx, alloc[e4cd1c42012959c4]::sync::Arc<rustc_data_structures[ab77da159d78a1fb]::jobserver::Proxy>, &std[7637d35b2e73f491]::sync::once_lock::OnceLock<rustc_middle[f49c2f37af7e8c7e]::ty::context::GlobalCtxt>, &rustc_data_structures[ab77da159d78a1fb]::sync::worker_local::WorkerLocal<rustc_middle[f49c2f37af7e8c7e]::arena::Arena>, &rustc_data_structures[ab77da159d78a1fb]::sync::worker_local::WorkerLocal<rustc_hir[78cba43770fa9cc1]::Arena>, rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
88: 0x7fd351198cf4 - rustc_interface[70956b6af7f02b7a]::interface::run_compiler::<(), rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}>::{closure#1}
89: 0x7fd351135dba - std[7637d35b2e73f491]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[70956b6af7f02b7a]::util::run_in_thread_with_globals<rustc_interface[70956b6af7f02b7a]::util::run_in_thread_pool_with_globals<rustc_interface[70956b6af7f02b7a]::interface::run_compiler<(), rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
90: 0x7fd351135b7e - <std[7637d35b2e73f491]::thread::lifecycle::spawn_unchecked<rustc_interface[70956b6af7f02b7a]::util::run_in_thread_with_globals<rustc_interface[70956b6af7f02b7a]::util::run_in_thread_pool_with_globals<rustc_interface[70956b6af7f02b7a]::interface::run_compiler<(), rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[e59341b65d367131]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
91: 0x7fd351137944 - <std[7637d35b2e73f491]::sys::thread::unix::Thread>::new::thread_start
92: 0x7fd34aa9698b - <unknown>
93: 0x7fd34ab1a9cc - <unknown>
94: 0x0 - <unknown>
error: 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: please make sure that you have updated to the latest nightly
note: please attach the file at `/home/matthias/vcs/github/CRED/rustc-ice-2026-01-18T18_26_21-2152880.txt` to your bug report
note: rustc 1.94.0-nightly (fe98ddcfc 2026-01-17) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z next-solver=globally
query stack during panic:
panicked at /rustc-dev/fe98ddcfcfb6f185dbf4adeaf439d8a756da0273/compiler/rustc_type_ir/src/ty_kind.rs:680:17:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the ICE with the issue's code.rs example using rustc code.rs -Znext-solver=globally. Start at compiler/rustc_type_ir/src/ty_kind/closure.rs:165:29, then follow the transmute and trait-solver frames shown in the backtrace. Done means the example no longer panics and produces an appropriate compiler diagnostic.
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
- Needs clarification
- Newbie friendliness
- 28/100