[ICE]: `type variables should not be hashed: ?0t`
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.1k
- PR merge metrics
- PR metrics pending
Description
Code
rustc code.rs -Znext-solver=globally --edition=2021
#![feature(transmutability)]
#![feature(unboxed_closures)]
fn main() {
&async {} as &dyn Service;
}
impl<T: std::mem::TransmuteFrom()> Service for T {}
trait Service {}
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
error[E0220]: associated type `Output` not found for `TransmuteFrom`
--> code.rs:6:19
|
6 | impl<T: std::mem::TransmuteFrom()> Service for T {}
| ^^^^^^^^^^^^^^^ associated type `Output` not found
Backtrace
thread 'rustc' (2187337) panicked at /rustc-dev/fe98ddcfcfb6f185dbf4adeaf439d8a756da0273/compiler/rustc_type_ir/src/ty_kind.rs:680:17:
type variables should not be hashed: ?0t
stack backtrace:
0: 0x7f1170642f93 - <<std[7637d35b2e73f491]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e59341b65d367131]::fmt::Display>::fmt
1: 0x7f1170c0e2c8 - core[e59341b65d367131]::fmt::write
2: 0x7f1170659986 - <std[7637d35b2e73f491]::sys::stdio::unix::Stderr as std[7637d35b2e73f491]::io::Write>::write_fmt
3: 0x7f1170619008 - std[7637d35b2e73f491]::panicking::default_hook::{closure#0}
4: 0x7f11706366c3 - std[7637d35b2e73f491]::panicking::default_hook
5: 0x7f116f60b7fa - std[7637d35b2e73f491]::panicking::update_hook::<alloc[e4cd1c42012959c4]::boxed::Box<rustc_driver_impl[1a3eae45778b1a3a]::install_ice_hook::{closure#1}>>::{closure#0}
6: 0x7f11706369a2 - std[7637d35b2e73f491]::panicking::panic_with_hook
7: 0x7f11706190c8 - std[7637d35b2e73f491]::panicking::panic_handler::{closure#0}
8: 0x7f117060d579 - std[7637d35b2e73f491]::sys::backtrace::__rust_end_short_backtrace::<std[7637d35b2e73f491]::panicking::panic_handler::{closure#0}, !>
9: 0x7f117061ab9d - __rustc[f6c708c0d8e4bdd6]::rust_begin_unwind
10: 0x7f116d8e91fc - core[e59341b65d367131]::panicking::panic_fmt
11: 0x7f117135b12a - <rustc_type_ir[a44b4988878e9ab6]::ty_kind::TyKind<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt> as rustc_data_structures[ab77da159d78a1fb]::stable_hasher::HashStable<rustc_query_system[11b36a7129bd2e9f]::ich::hcx::StableHashingContext>>::hash_stable
12: 0x7f1171354b52 - <rustc_middle[f49c2f37af7e8c7e]::ty::generic_args::GenericArg as rustc_data_structures[ab77da159d78a1fb]::stable_hasher::HashStable<rustc_query_system[11b36a7129bd2e9f]::ich::hcx::StableHashingContext>>::hash_stable
13: 0x7f11713543f6 - <&rustc_middle[f49c2f37af7e8c7e]::ty::list::RawList<(), rustc_middle[f49c2f37af7e8c7e]::ty::generic_args::GenericArg> as rustc_data_structures[ab77da159d78a1fb]::stable_hasher::HashStable<rustc_query_system[11b36a7129bd2e9f]::ich::hcx::StableHashingContext>>::hash_stable
14: 0x7f1170ceec00 - <rustc_type_ir[a44b4988878e9ab6]::ty_info::WithCachedTypeInfo<rustc_type_ir[a44b4988878e9ab6]::ty_kind::TyKind<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>> as rustc_data_structures[ab77da159d78a1fb]::stable_hasher::HashStable<rustc_query_system[11b36a7129bd2e9f]::ich::hcx::StableHashingContext>>::hash_stable
15: 0x7f117001fcbd - rustc_query_impl[f993d76296ac3ede]::plumbing::create_query_frame::<rustc_middle[f49c2f37af7e8c7e]::ty::PseudoCanonicalInput<rustc_middle[f49c2f37af7e8c7e]::ty::Ty>>
16: 0x7f117013f9a0 - <rustc_query_impl[f993d76296ac3ede]::query_impl::layout_of::collect_active_jobs::{closure#0} as core[e59341b65d367131]::ops::function::FnOnce<(rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_middle[f49c2f37af7e8c7e]::ty::PseudoCanonicalInput<rustc_middle[f49c2f37af7e8c7e]::ty::Ty>)>>::call_once
17: 0x7f1170002302 - <rustc_query_system[11b36a7129bd2e9f]::query::plumbing::QueryState<rustc_middle[f49c2f37af7e8c7e]::ty::PseudoCanonicalInput<rustc_middle[f49c2f37af7e8c7e]::ty::Ty>>>::collect_active_jobs::<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>
18: 0x7f11700aa7c1 - rustc_query_impl[f993d76296ac3ede]::query_impl::layout_of::collect_active_jobs
19: 0x7f11700be46f - <rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt as rustc_query_system[11b36a7129bd2e9f]::query::QueryContext>::collect_active_jobs
20: 0x7f11700257a3 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::cycle_error::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::DefaultCache<rustc_type_ir[a44b4988878e9ab6]::canonical::CanonicalQueryInput<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_middle[f49c2f37af7e8c7e]::ty::ParamEnvAnd<rustc_middle[f49c2f37af7e8c7e]::traits::query::type_op::Normalize<rustc_middle[f49c2f37af7e8c7e]::ty::Ty>>>, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt>
21: 0x7f1170d6f27c - 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>
22: 0x7f1170d6e589 - rustc_query_impl[f993d76296ac3ede]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
23: 0x7f1171987c71 - rustc_hir_typeck[cda3b2c1a48d49f5]::typeck_with_inspect::{closure#0}
24: 0x7f117197b674 - 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]>>
25: 0x7f1170d6ecaa - 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>
26: 0x7f1170d6e589 - rustc_query_impl[f993d76296ac3ede]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
27: 0x7f1171126cf6 - rustc_mir_build[916b7e25050224b]::thir::pattern::check_match::check_match
28: 0x7f117112609f - 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]>>
29: 0x7f117137b4f8 - 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>
30: 0x7f117137b1bd - rustc_query_impl[f993d76296ac3ede]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
31: 0x7f11711022eb - rustc_mir_build[916b7e25050224b]::builder::build_mir_inner_impl
32: 0x7f1170c08dea - rustc_mir_transform[8e6f1eb7ff0fdc6d]::mir_built
33: 0x7f1170c08db3 - 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]>>
34: 0x7f1170d6ecaa - 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>
35: 0x7f1170d6e709 - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
36: 0x7f1170c4f797 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::ffi_unwind_calls::has_ffi_unwind_calls
37: 0x7f1170c4f1a9 - 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]>>
38: 0x7f117137b4f8 - 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>
39: 0x7f117137b07d - rustc_query_impl[f993d76296ac3ede]::query_impl::has_ffi_unwind_calls::get_query_non_incr::__rust_end_short_backtrace
40: 0x7f117190eda9 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::mir_promoted
41: 0x7f117190ebd2 - 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]>>
42: 0x7f117165bcb5 - 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>
43: 0x7f117165b84c - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
44: 0x7f1171fb50bf - rustc_mir_transform[8e6f1eb7ff0fdc6d]::coroutine::mir_coroutine_witnesses
45: 0x7f1171fb4a27 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::mir_coroutine_witnesses::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
46: 0x7f1170c17c45 - 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>
47: 0x7f11722cc1b4 - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_coroutine_witnesses::get_query_non_incr::__rust_end_short_backtrace
48: 0x7f11719736a5 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::mir_drops_elaborated_and_const_checked
49: 0x7f11719727d9 - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
50: 0x7f1170d6ecaa - 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: 0x7f1170d6e34d - rustc_query_impl[f993d76296ac3ede]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
52: 0x7f1170fe2f16 - rustc_mir_transform[8e6f1eb7ff0fdc6d]::optimized_mir
53: 0x7f1170fe29af - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 8usize]>>
54: 0x7f1170c17c45 - 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>
55: 0x7f1170c1721b - rustc_query_impl[f993d76296ac3ede]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
56: 0x7f1171eee441 - <rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>::coroutine_layout
57: 0x7f117157f535 - rustc_ty_utils[f823f1d5efade7eb]::layout::layout_of_uncached
58: 0x7f1171574589 - rustc_ty_utils[f823f1d5efade7eb]::layout::layout_of
59: 0x7f11715744f0 - 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]>>
60: 0x7f11715735d7 - 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>
61: 0x7f11715731f4 - rustc_query_impl[f993d76296ac3ede]::query_impl::layout_of::get_query_non_incr::__rust_end_short_backtrace
62: 0x7f117055f028 - rustc_transmute[a79904f2c7e85e92]::layout::rustc::layout_of
63: 0x7f117055d0a2 - <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
64: 0x7f1170556d84 - <rustc_transmute[a79904f2c7e85e92]::rustc::TransmuteTypeEnv>::is_transmutable
65: 0x7f117048a775 - <rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate as rustc_next_trait_solver[170a8c4b65e982f7]::delegate::SolverDelegate>::is_transmutable
66: 0x7f117047be7f - <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
67: 0x7f1171abfc20 - <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>>
68: 0x7f1171ab157e - <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
69: 0x7f117183044f - <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}
70: 0x7f117184705a - <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
71: 0x7f1171836bf4 - <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
72: 0x7f1171829e0f - <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
73: 0x7f1171aadcb4 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::assemble_impl_candidates::<rustc_type_ir[a44b4988878e9ab6]::predicate::TraitPredicate<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::{closure#0}
74: 0x7f1171ab2768 - <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
75: 0x7f117183044f - <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}
76: 0x7f117184705a - <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
77: 0x7f1171836bf4 - <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
78: 0x7f1171829e0f - <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
79: 0x7f1171abe476 - <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>>
80: 0x7f1171ab157e - <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
81: 0x7f117183044f - <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}
82: 0x7f117184705a - <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
83: 0x7f1171836bf4 - <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
84: 0x7f1171829e0f - <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
85: 0x7f1171aadcb4 - <rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::EvalCtxt<rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate, rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::assemble_impl_candidates::<rustc_type_ir[a44b4988878e9ab6]::predicate::TraitPredicate<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>>::{closure#0}
86: 0x7f1171ab2384 - <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
87: 0x7f117183044f - <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}
88: 0x7f117182ed97 - <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_in_task
89: 0x7f117182e891 - rustc_trait_selection[ea11fdd225b236a7]::solve::evaluate_root_goal_for_proof_tree_raw
90: 0x7f117182e6bf - rustc_query_impl[f993d76296ac3ede]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f993d76296ac3ede]::query_impl::evaluate_root_goal_for_proof_tree_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 48usize]>>
91: 0x7f117182e677 - <rustc_query_impl[f993d76296ac3ede]::query_impl::evaluate_root_goal_for_proof_tree_raw::dynamic_query::{closure#2} as core[e59341b65d367131]::ops::function::FnOnce<(rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_type_ir[a44b4988878e9ab6]::canonical::CanonicalQueryInput<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_type_ir[a44b4988878e9ab6]::solve::QueryInput<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_middle[f49c2f37af7e8c7e]::ty::predicate::Predicate>>)>>::call_once
92: 0x7f1171817d21 - rustc_query_system[11b36a7129bd2e9f]::query::plumbing::try_execute_query::<rustc_query_impl[f993d76296ac3ede]::DynamicConfig<rustc_query_system[11b36a7129bd2e9f]::query::caches::DefaultCache<rustc_type_ir[a44b4988878e9ab6]::canonical::CanonicalQueryInput<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_type_ir[a44b4988878e9ab6]::solve::QueryInput<rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt, rustc_middle[f49c2f37af7e8c7e]::ty::predicate::Predicate>>, rustc_middle[f49c2f37af7e8c7e]::query::erase::Erased<[u8; 48usize]>>, false, false, false>, rustc_query_impl[f993d76296ac3ede]::plumbing::QueryCtxt, false>
93: 0x7f117181a3c2 - rustc_query_impl[f993d76296ac3ede]::query_impl::evaluate_root_goal_for_proof_tree_raw::get_query_non_incr::__rust_end_short_backtrace
94: 0x7f117181a2c1 - <rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt as rustc_type_ir[a44b4988878e9ab6]::interner::Interner>::evaluate_root_goal_for_proof_tree_raw
95: 0x7f1171819b83 - <rustc_trait_selection[ea11fdd225b236a7]::solve::delegate::SolverDelegate as rustc_next_trait_solver[170a8c4b65e982f7]::solve::eval_ctxt::SolverDelegateEvalExt>::evaluate_root_goal_for_proof_tree
96: 0x7f1170ca6ac2 - <rustc_hir_typeck[cda3b2c1a48d49f5]::fn_ctxt::FnCtxt>::coerce
97: 0x7f117197fee2 - rustc_hir_typeck[cda3b2c1a48d49f5]::typeck_with_inspect::{closure#0}
98: 0x7f117197b674 - 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]>>
99: 0x7f1170d6ecaa - 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>
100: 0x7f1170d6e589 - rustc_query_impl[f993d76296ac3ede]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
101: 0x7f1171414d35 - <rustc_middle[f49c2f37af7e8c7e]::ty::context::TyCtxt>::par_hir_body_owners::<rustc_hir_analysis[5017dacce67ac1a4]::check_crate::{closure#2}>::{closure#0}
102: 0x7f1171414744 - rustc_hir_analysis[5017dacce67ac1a4]::check_crate
103: 0x7f1170d62e5b - rustc_interface[70956b6af7f02b7a]::passes::analysis
104: 0x7f1170d62ab5 - 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]>>
105: 0x7f1171df9e23 - 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>
106: 0x7f1171df9c0e - rustc_query_impl[f993d76296ac3ede]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
107: 0x7f1171e17dd1 - <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}
108: 0x7f1171d98cf4 - rustc_interface[70956b6af7f02b7a]::interface::run_compiler::<(), rustc_driver_impl[1a3eae45778b1a3a]::run_compiler::{closure#0}>::{closure#1}
109: 0x7f1171d35dba - 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}, ()>
110: 0x7f1171d35b7e - <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}
111: 0x7f1171d37944 - <std[7637d35b2e73f491]::sys::thread::unix::Thread>::new::thread_start
112: 0x7f116b69698b - <unknown>
113: 0x7f116b71a9cc - <unknown>
114: 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_32_40-2187319.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:
thread panicked while processing panic. aborting.
[1] 2187319 IOT instruction rustc code.rs -Znext-solver=globally --edition=2021
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
Start by reproducing the ICE with the command and example in code.rs, using -Znext-solver=globally and the supplied nightly version. Then inspect rustc_type_ir/src/ty_kind.rs around line 680 and the stack-trace path; done means the reproducer no longer panics and reports 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
- 35/100