-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityMedium priorityS-has-bisectionStatus: A bisection has been found for this issueStatus: A bisection has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Description
Code playground
trait UnderlyingImpl<const MAX_SIZE: usize> {
type InfoType: LevelInfo;
type SupportedArray<T>;
}
trait LevelInfo {
const SUPPORTED_SLOTS: usize;
}
struct Info;
impl LevelInfo for Info {
const SUPPORTED_SLOTS: usize = 1;
}
struct SomeImpl;
impl<const MAX_SIZE: usize> UnderlyingImpl<MAX_SIZE> for SomeImpl {
type InfoType = Info;
// This line makes compiler panic
type SupportedArray<T> = [T; <Self::InfoType as LevelInfo>::SUPPORTED_SLOTS];
// But this works
//type SupportedArray<T> = [T; <Info as LevelInfo>::SUPPORTED_SLOTS];
}
Meta (local)
rustc --version --verbose
:
Same behavior on playground (both stable and nightly)
rustc 1.90.0-nightly (8f08b3a32 2025-07-18)
binary: rustc
commit-hash: 8f08b3a32478b8d0507732800ecb548a76e0fd0c
commit-date: 2025-07-18
host: x86_64-pc-windows-msvc
release: 1.90.0-nightly
LLVM version: 20.1.8
Error output
Compiling playground v0.0.1 (/playground)
thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:364:36:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: 0x7924dcd46543 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h46a716bba2450163
1: 0x7924dd405947 - core::fmt::write::h275e5980d7008551
2: 0x7924de4c16d1 - std::io::Write::write_fmt::h561a66a0340b6995
3: 0x7924dcd463a2 - std::sys::backtrace::BacktraceLock::print::hafb9d5969adc39a0
4: 0x7924dcd49f9a - std::panicking::default_hook::{{closure}}::hae2e97a5c4b2b777
5: 0x7924dcd49b1f - std::panicking::default_hook::h3db1b505cfc4eb79
6: 0x7924dbd75b93 - std[61bb86a81f0491]::panicking::update_hook::<alloc[7c55b5a5cf9e3c5f]::boxed::Box<rustc_driver_impl[b7d73271a09ede7d]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x7924dcd4a813 - std::panicking::rust_panic_with_hook::h409da73ddef13937
8: 0x7924dcd4a4d6 - std::panicking::begin_panic_handler::{{closure}}::h159b61b27f96a9c2
9: 0x7924dcd46a09 - std::sys::backtrace::__rust_end_short_backtrace::h5b56844d75e766fc
10: 0x7924dcd4a1cd - __rustc[4794b31dd7191200]::rust_begin_unwind
11: 0x7924d9685620 - core::panicking::panic_fmt::hc8737e8cca20a7c8
12: 0x7924d9689ddc - core::panicking::panic::h4a11c031239f36a8
13: 0x7924d9685f99 - core::option::unwrap_failed::h62317944fa5dc382
14: 0x7924df135866 - <rustc_middle[1134768a56a896b4]::ty::sty::ParamConst>::find_ty_from_env.cold
15: 0x7924dddc9031 - <rustc_trait_selection[cbbc305c14e6b9fb]::traits::fulfill::FulfillProcessor as rustc_data_structures[e24569e090b577b3]::obligation_forest::ObligationProcessor>::process_obligation
16: 0x7924dd407566 - <rustc_data_structures[e24569e090b577b3]::obligation_forest::ObligationForest<rustc_trait_selection[cbbc305c14e6b9fb]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[cbbc305c14e6b9fb]::traits::fulfill::FulfillProcessor>
17: 0x7924dd7d8f23 - rustc_hir_typeck[69b4494f2e6af28b]::typeck_with_inspect::{closure#0}
18: 0x7924dd7d7ab6 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>
19: 0x7924dd7c9366 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
20: 0x7924dd7c8dd2 - rustc_query_impl[6f0ca6887c150a69]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
21: 0x7924ddbeebc1 - rustc_mir_build[66235fdd4417f78a]::thir::pattern::check_match::check_match
22: 0x7924ddbee459 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>>
23: 0x7924ddc16665 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
24: 0x7924ddc162a1 - rustc_query_impl[6f0ca6887c150a69]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
25: 0x7924dd81a788 - rustc_mir_build[66235fdd4417f78a]::builder::build_mir
26: 0x7924dd409aab - rustc_mir_transform[bc4f92cb7c061fd1]::mir_built
27: 0x7924dd409a65 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>
28: 0x7924dd7c9366 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
29: 0x7924dd7c8e92 - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
30: 0x7924de1a6695 - rustc_mir_transform[bc4f92cb7c061fd1]::mir_const_qualif
31: 0x7924de1a65a5 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_const_qualif::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 4usize]>>
32: 0x7924de1a59fe - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::DefIdCache<rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 4usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
33: 0x7924de1a574f - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_const_qualif::get_query_non_incr::__rust_end_short_backtrace
34: 0x7924dac614b2 - rustc_mir_transform[bc4f92cb7c061fd1]::mir_promoted
35: 0x7924dd8bd792 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 16usize]>>
36: 0x7924dd8bda24 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
37: 0x7924dd8bd692 - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
38: 0x7924dd7ca66b - rustc_borrowck[177ef636edd0ce33]::mir_borrowck
39: 0x7924dd7ca59f - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>
40: 0x7924dd7c9366 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
41: 0x7924dd7c8d12 - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
42: 0x7924dd6b5e45 - rustc_mir_transform[bc4f92cb7c061fd1]::mir_drops_elaborated_and_const_checked
43: 0x7924dd6b5535 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>
44: 0x7924dd7c9366 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
45: 0x7924dd7c8c5c - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
46: 0x7924dd892118 - rustc_mir_transform[bc4f92cb7c061fd1]::mir_for_ctfe
47: 0x7924dd891f4d - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_for_ctfe::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>
48: 0x7924dd8800bf - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::DefIdCache<rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
49: 0x7924ddd677a2 - rustc_query_impl[6f0ca6887c150a69]::query_impl::mir_for_ctfe::get_query_non_incr::__rust_end_short_backtrace
50: 0x7924ddd678d0 - <rustc_const_eval[1f8ce8110e3e9be6]::interpret::eval_context::InterpCx<rustc_const_eval[1f8ce8110e3e9be6]::const_eval::machine::CompileTimeMachine>>::load_mir
51: 0x7924ddd6876b - rustc_const_eval[1f8ce8110e3e9be6]::const_eval::eval_queries::eval_to_allocation_raw_provider
52: 0x7924ddd68010 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 24usize]>>
53: 0x7924ddd55e98 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::DefaultCache<rustc_middle[1134768a56a896b4]::ty::PseudoCanonicalInput<rustc_middle[1134768a56a896b4]::mir::interpret::GlobalId>, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
54: 0x7924ddd55a4b - rustc_query_impl[6f0ca6887c150a69]::query_impl::eval_to_allocation_raw::get_query_non_incr::__rust_end_short_backtrace
55: 0x7924ddd33650 - rustc_const_eval[1f8ce8110e3e9be6]::const_eval::valtrees::eval_to_valtree
56: 0x7924ddd333d4 - <rustc_const_eval[1f8ce8110e3e9be6]::provide::{closure#0} as core[105cb658ab12d76f]::ops::function::FnOnce<(rustc_middle[1134768a56a896b4]::ty::context::TyCtxt, rustc_middle[1134768a56a896b4]::ty::PseudoCanonicalInput<rustc_middle[1134768a56a896b4]::mir::interpret::GlobalId>)>>::call_once
57: 0x7924ddd3337e - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::eval_to_valtree::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 24usize]>>
58: 0x7924ddd33337 - <rustc_query_impl[6f0ca6887c150a69]::query_impl::eval_to_valtree::dynamic_query::{closure#2} as core[105cb658ab12d76f]::ops::function::FnOnce<(rustc_middle[1134768a56a896b4]::ty::context::TyCtxt, rustc_middle[1134768a56a896b4]::ty::PseudoCanonicalInput<rustc_middle[1134768a56a896b4]::mir::interpret::GlobalId>)>>::call_once
59: 0x7924ddd55f7b - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::DefaultCache<rustc_middle[1134768a56a896b4]::ty::PseudoCanonicalInput<rustc_middle[1134768a56a896b4]::mir::interpret::GlobalId>, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
60: 0x7924ddd55955 - rustc_query_impl[6f0ca6887c150a69]::query_impl::eval_to_valtree::get_query_non_incr::__rust_end_short_backtrace
61: 0x7924dde83600 - <rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>::const_eval_global_id_for_typeck
62: 0x7924dde83142 - <rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
63: 0x7924dd8db408 - rustc_trait_selection[cbbc305c14e6b9fb]::traits::try_evaluate_const
64: 0x7924dd8dabb4 - <rustc_trait_selection[cbbc305c14e6b9fb]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[59256336525b79e2]::fold::TypeFolder<rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>>::fold_const
65: 0x7924dd5cb191 - <rustc_middle[1134768a56a896b4]::ty::Ty as rustc_type_ir[59256336525b79e2]::fold::TypeSuperFoldable<rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>>::super_fold_with::<rustc_trait_selection[cbbc305c14e6b9fb]::traits::normalize::AssocTypeNormalizer>
66: 0x7924dd5d0790 - rustc_trait_selection[cbbc305c14e6b9fb]::traits::project::normalize_projection_term
67: 0x7924dd5c9e34 - <rustc_trait_selection[cbbc305c14e6b9fb]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[59256336525b79e2]::fold::TypeFolder<rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>>::fold_ty
68: 0x7924ddb7960a - <&rustc_middle[1134768a56a896b4]::ty::list::RawList<(), rustc_middle[1134768a56a896b4]::ty::generic_args::GenericArg> as rustc_type_ir[59256336525b79e2]::fold::TypeFoldable<rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[cbbc305c14e6b9fb]::traits::normalize::AssocTypeNormalizer>
69: 0x7924ddb79464 - <rustc_trait_selection[cbbc305c14e6b9fb]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[59256336525b79e2]::fold::TypeFolder<rustc_middle[1134768a56a896b4]::ty::context::TyCtxt>>::fold_predicate
70: 0x7924ddb73953 - rustc_hir_analysis[5a87eb6962d34b42]::check::compare_impl_item::check_type_bounds
71: 0x7924ddb7fb64 - rustc_hir_analysis[5a87eb6962d34b42]::check::compare_impl_item::compare_impl_item
72: 0x7924ddb7d2cb - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::compare_impl_item::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>>
73: 0x7924ddc16665 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
74: 0x7924ddc16161 - rustc_query_impl[6f0ca6887c150a69]::query_impl::compare_impl_item::get_query_non_incr::__rust_end_short_backtrace
75: 0x7924dd9cc62c - rustc_hir_analysis[5a87eb6962d34b42]::check::check::check_item_type
76: 0x7924ddc1886e - rustc_hir_analysis[5a87eb6962d34b42]::check::wfcheck::check_well_formed
77: 0x7924ddc1704b - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>>
78: 0x7924ddc168f1 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_data_structures[e24569e090b577b3]::vec_cache::VecCache<rustc_span[1f7aec696a0836ce]::def_id::LocalDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[48caa8a8a4cfcb68]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
79: 0x7924ddc163e6 - rustc_query_impl[6f0ca6887c150a69]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
80: 0x7924ddc13965 - rustc_hir_analysis[5a87eb6962d34b42]::check::wfcheck::check_mod_type_wf
81: 0x7924ddc1375f - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>>
82: 0x7924de3eda84 - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::DefaultCache<rustc_span[1f7aec696a0836ce]::def_id::LocalModDefId, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
83: 0x7924de3ed811 - rustc_query_impl[6f0ca6887c150a69]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
84: 0x7924dd7c6f72 - rustc_hir_analysis[5a87eb6962d34b42]::check_crate
85: 0x7924ddde0237 - rustc_interface[a43b584b4c4124b4]::passes::run_required_analyses
86: 0x7924de2edb5e - rustc_interface[a43b584b4c4124b4]::passes::analysis
87: 0x7924de2edb35 - rustc_query_impl[6f0ca6887c150a69]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6f0ca6887c150a69]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 0usize]>>
88: 0x7924de2efc3a - rustc_query_system[48caa8a8a4cfcb68]::query::plumbing::try_execute_query::<rustc_query_impl[6f0ca6887c150a69]::DynamicConfig<rustc_query_system[48caa8a8a4cfcb68]::query::caches::SingleCache<rustc_middle[1134768a56a896b4]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6f0ca6887c150a69]::plumbing::QueryCtxt, false>
89: 0x7924de2ef90f - rustc_query_impl[6f0ca6887c150a69]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
90: 0x7924de5aa0c7 - rustc_interface[a43b584b4c4124b4]::passes::create_and_enter_global_ctxt::<core[105cb658ab12d76f]::option::Option<rustc_interface[a43b584b4c4124b4]::queries::Linker>, rustc_driver_impl[b7d73271a09ede7d]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
91: 0x7924de4fe966 - rustc_interface[a43b584b4c4124b4]::interface::run_compiler::<(), rustc_driver_impl[b7d73271a09ede7d]::run_compiler::{closure#0}>::{closure#1}
92: 0x7924de4b523e - std[61bb86a81f0491]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[a43b584b4c4124b4]::util::run_in_thread_with_globals<rustc_interface[a43b584b4c4124b4]::util::run_in_thread_pool_with_globals<rustc_interface[a43b584b4c4124b4]::interface::run_compiler<(), rustc_driver_impl[b7d73271a09ede7d]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
93: 0x7924de4b56b4 - <<std[61bb86a81f0491]::thread::Builder>::spawn_unchecked_<rustc_interface[a43b584b4c4124b4]::util::run_in_thread_with_globals<rustc_interface[a43b584b4c4124b4]::util::run_in_thread_pool_with_globals<rustc_interface[a43b584b4c4124b4]::interface::run_compiler<(), rustc_driver_impl[b7d73271a09ede7d]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[105cb658ab12d76f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
94: 0x7924de4b6aab - std::sys::pal::unix::thread::Thread::new::thread_start::h1822d22fde68314f
95: 0x7924d828aaa4 - <unknown>
96: 0x7924d8317a34 - clone
97: 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: rustc 1.88.0 (6b00bc388 2025-06-23) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [typeck] type-checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#1 [check_match] match-checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
... and 12 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
error: could not compile `playground` (lib)
Caused by:
process didn't exit successfully: `/playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name playground --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=88d75c911cfddd04 -C extra-filename=-013ef0dffb93ce85 --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps [...] (deleted bcs 65536 character limit)` (exit status: 101)
Backtrace
thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:364:36:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: core::option::unwrap_failed
4: <rustc_middle::ty::sty::ParamConst>::find_ty_from_env.cold
5: <rustc_trait_selection::traits::fulfill::FulfillProcessor as rustc_data_structures::obligation_forest::ObligationProcessor>::process_obligation
6: <rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor>
7: rustc_hir_typeck::typeck_with_inspect::{closure#0}
[... omitted 1 frame ...]
8: rustc_mir_build::thir::pattern::check_match::check_match
[... omitted 1 frame ...]
9: rustc_mir_build::builder::build_mir
10: rustc_mir_transform::mir_built
[... omitted 1 frame ...]
11: rustc_mir_transform::mir_const_qualif
[... omitted 1 frame ...]
12: rustc_mir_transform::mir_promoted
[... omitted 1 frame ...]
13: rustc_borrowck::mir_borrowck
[... omitted 1 frame ...]
14: rustc_mir_transform::mir_drops_elaborated_and_const_checked
[... omitted 1 frame ...]
15: rustc_mir_transform::mir_for_ctfe
[... omitted 1 frame ...]
16: <rustc_const_eval::interpret::eval_context::InterpCx<rustc_const_eval::const_eval::machine::CompileTimeMachine>>::load_mir
17: rustc_const_eval::const_eval::eval_queries::eval_to_allocation_raw_provider
[... omitted 1 frame ...]
18: rustc_const_eval::const_eval::valtrees::eval_to_valtree
19: <rustc_const_eval::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_middle::ty::PseudoCanonicalInput<rustc_middle::mir::interpret::GlobalId>)>>::call_once
[... omitted 2 frames ...]
20: <rustc_middle::ty::context::TyCtxt>::const_eval_global_id_for_typeck
21: <rustc_middle::ty::context::TyCtxt>::const_eval_resolve_for_typeck
22: rustc_trait_selection::traits::try_evaluate_const
23: <rustc_trait_selection::traits::normalize::AssocTypeNormalizer as rustc_type_ir::fold::TypeFolder<rustc_middle::ty::context::TyCtxt>>::fold_const
24: <rustc_middle::ty::Ty as rustc_type_ir::fold::TypeSuperFoldable<rustc_middle::ty::context::TyCtxt>>::super_fold_with::<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
25: rustc_trait_selection::traits::project::normalize_projection_term
26: <rustc_trait_selection::traits::normalize::AssocTypeNormalizer as rustc_type_ir::fold::TypeFolder<rustc_middle::ty::context::TyCtxt>>::fold_ty
27: <&rustc_middle::ty::list::RawList<(), rustc_middle::ty::generic_args::GenericArg> as rustc_type_ir::fold::TypeFoldable<rustc_middle::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
28: <rustc_trait_selection::traits::normalize::AssocTypeNormalizer as rustc_type_ir::fold::TypeFolder<rustc_middle::ty::context::TyCtxt>>::fold_predicate
29: rustc_hir_analysis::check::compare_impl_item::check_type_bounds
30: rustc_hir_analysis::check::compare_impl_item::compare_impl_item
[... omitted 1 frame ...]
31: rustc_hir_analysis::check::check::check_item_type
32: rustc_hir_analysis::check::wfcheck::check_well_formed
[... omitted 1 frame ...]
33: rustc_hir_analysis::check::wfcheck::check_mod_type_wf
[... omitted 1 frame ...]
34: rustc_hir_analysis::check_crate
35: rustc_interface::passes::run_required_analyses
36: rustc_interface::passes::analysis
[... omitted 1 frame ...]
37: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
38: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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: rustc 1.88.0 (6b00bc388 2025-06-23) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [typeck] type-checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#1 [check_match] match-checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#2 [mir_built] building MIR for `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#3 [mir_const_qualif] const checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#4 [mir_promoted] promoting constants in MIR for `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#5 [mir_borrowck] borrow-checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#6 [mir_drops_elaborated_and_const_checked] elaborating drops for `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#7 [mir_for_ctfe] caching mir of `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}` for CTFE
#8 [eval_to_allocation_raw] const-evaluating + checking `<impl at src/lib.rs:18:1: 18:66>::SupportedArray::{constant#0}`
#9 [eval_to_valtree] evaluating type-level constant
#10 [compare_impl_item] checking assoc item `<impl at src/lib.rs:18:1: 18:66>::SupportedArray` is compatible with trait definition
#11 [check_well_formed] checking that `<impl at src/lib.rs:18:1: 18:66>` is well-formed
#12 [check_mod_type_wf] checking that types are well-formed in top-level module
#13 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `playground` (lib)
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityMedium priorityS-has-bisectionStatus: A bisection has been found for this issueStatus: A bisection has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.