Open
Description
The code is generated by a fuzzer and reduced manually
Possibly duplicated with #129882 or #128525 (but with different query stacks)
Code
#![feature(generic_const_exprs)]
struct X<
const FN: fn() = {
|| {
let _: fn([A; B]) -> B = B::B;
}
},
>;
fn main() {}
Meta
rustc --version --verbose
:
rustc 1.89.0-nightly (c68340350 2025-06-18)
binary: rustc
commit-hash: c68340350c78eea402c4a85f8d9c1b7d3d607635
commit-date: 2025-06-18
host: x86_64-pc-windows-msvc
release: 1.89.0-nightly
LLVM version: 20.1.7
Error output
error[E0412]: cannot find type `A` in this scope
--> .\test.rs:5:24
|
5 | let _: fn([A; B]) -> B = B::B;
| ^ not found in this scope
error[E0425]: cannot find value `B` in this scope
--> .\test.rs:5:27
|
5 | let _: fn([A; B]) -> B = B::B;
| ^ not found in this scope
error[E0412]: cannot find type `B` in this scope
--> .\test.rs:5:34
|
5 | let _: fn([A; B]) -> B = B::B;
| ^ not found in this scope
error[E0433]: failed to resolve: use of undeclared type `B`
--> .\test.rs:5:38
|
5 | let _: fn([A; B]) -> B = B::B;
| ^ use of undeclared type `B`
Backtrace
thread 'rustc' panicked at compiler\rustc_middle\src\ty\sty.rs:365:36:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: 0x7fff7ce1b5d2 - std::backtrace_rs::backtrace::win64::trace
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
1: 0x7fff7ce1b5d2 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7fff7ce1b5d2 - std::sys::backtrace::_print_fmt
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\sys\backtrace.rs:66
3: 0x7fff7ce1b5d2 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\sys\backtrace.rs:39
4: 0x7fff7ce4e32b - core::fmt::rt::Argument::fmt
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\core\src\fmt\rt.rs:173
5: 0x7fff7ce4e32b - core::fmt::write
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\core\src\fmt\mod.rs:1460
6: 0x7fff7ce111b7 - std::io::default_write_fmt
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\io\mod.rs:639
7: 0x7fff7ce111b7 - std::io::Write::write_fmt<std::sys::stdio::windows::Stderr>
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\io\mod.rs:1954
8: 0x7fff7ce1b415 - std::sys::backtrace::BacktraceLock::print
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\sys\backtrace.rs:42
9: 0x7fff7ce211fa - std::panicking::default_hook::closure$0
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\panicking.rs:300
10: 0x7fff7ce20f90 - std::panicking::default_hook
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\panicking.rs:327
11: 0x7fff7e5c8df7 - core[7913bd6e64290783]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[86baf848793ac088]::Level, &str), usize), <((rustc_lint_defs[86baf848793ac088]::Level, &str), usize) as core[7913bd6e64290783]::cmp::PartialOrd>::lt>
12: 0x7fff7ce21e4e - std::panicking::rust_panic_with_hook
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\panicking.rs:841
13: 0x7fff7ce21b82 - std::panicking::begin_panic_handler::closure$0
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\panicking.rs:699
14: 0x7fff7ce1c37f - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\sys\backtrace.rs:168
15: 0x7fff7ce217ce - std::panicking::begin_panic_handler
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\panicking.rs:697
16: 0x7fff7ff79e51 - core::panicking::panic_fmt
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\core\src\panicking.rs:75
17: 0x7fff7ff79f0d - core::panicking::panic
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\core\src\panicking.rs:145
18: 0x7fff7ff79dce - core::option::unwrap_failed
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\core\src\option.rs:2072
19: 0x7fff7e4d61a7 - <rustc_middle[7a9f6d0772b0e5ea]::ty::sty::ParamConst>::find_ty_from_env
20: 0x7fff7dece6ae - <rustc_trait_selection[380248135e80b586]::traits::fulfill::FulfillProcessor as rustc_data_structures[201c6ced6e2f5255]::obligation_forest::ObligationProcessor>::process_obligation
21: 0x7fff7ddbb28f - <rustc_data_structures[201c6ced6e2f5255]::obligation_forest::ObligationForest<rustc_trait_selection[380248135e80b586]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[380248135e80b586]::traits::fulfill::FulfillProcessor>
22: 0x7fff7d11952a - rustc_hir_typeck[882b3cd343a194b5]::typeck
23: 0x7fff7d00e5cb - <<rustc_hir_typeck[882b3cd343a194b5]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[c6b2233d270133a9]::visit::TypeVisitor<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>>::visit_ty
24: 0x7fff7d0758e3 - <<rustc_hir_typeck[882b3cd343a194b5]::fn_ctxt::FnCtxt>::collect_impl_trait_clauses_from_hir_ty::CollectClauses as rustc_hir[14c811bc678e5da3]::intravisit::Visitor>::visit_ty
25: 0x7fff7d00f248 - <<rustc_hir_typeck[882b3cd343a194b5]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[c6b2233d270133a9]::visit::TypeVisitor<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>>::visit_ty
26: 0x7fff7d00cdfd - <<rustc_hir_typeck[882b3cd343a194b5]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[c6b2233d270133a9]::visit::TypeVisitor<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>>::visit_ty
27: 0x7fff7d13b5dd - <rustc_hir_typeck[882b3cd343a194b5]::upvar::InferBorrowKind as rustc_hir_typeck[882b3cd343a194b5]::expr_use_visitor::Delegate>::borrow
28: 0x7fff7d0e25c0 - rustc_hir_typeck[882b3cd343a194b5]::typeck
29: 0x7fff7dd5e26b - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
30: 0x7fff7dca458e - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtCs2KVqGvLot8v_21rustc_data_structures9vec_cache8VecCacheNtNtCsctD8KnfPWOA_10rustc_span6def_id10LocalDefIdINtNtNtCsawIwdSmi5Ly
31: 0x7fff7dd65552 - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
32: 0x7fff7d50ff24 - rustc_mir_build[79dfbe29b966379e]::thir::cx::thir_body
33: 0x7fff7dd5e4d9 - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
34: 0x7fff7dc9ba57 - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtCs2KVqGvLot8v_21rustc_data_structures9vec_cache8VecCacheNtNtCsctD8KnfPWOA_10rustc_span6def_id10LocalDefIdINtNtNtCsawIwdSmi5Ly
35: 0x7fff7dd613e5 - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
36: 0x7fff7db42366 - rustc_ty_utils[7e201f528f137b00]::consts::thir_abstract_const
37: 0x7fff7dd5d11e - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
38: 0x7fff7dd3cdad - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtCs2KVqGvLot8v_21rustc_data_structures9vec_cache8VecCacheNtNtCsctD8KnfPWOA_10rustc_span6def_id8CrateNumINtNtNtCsawIwdSmi5Ly_12
39: 0x7fff7dc06fc6 - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtB4_6caches10DefIdCacheINtNtNtCsawIwdSmi5Ly_12rustc_middle5query5erase6ErasedAhj10_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx
40: 0x7fff7dd616d9 - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
41: 0x7fff7e423cd7 - <<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>::expand_abstract_consts::Expander as rustc_type_ir[c6b2233d270133a9]::fold::TypeFolder<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>>::fold_const
42: 0x7fff7cac9402 - rustc_trait_selection[380248135e80b586]::traits::const_evaluatable::is_const_evaluatable
43: 0x7fff7decf106 - <rustc_trait_selection[380248135e80b586]::traits::fulfill::FulfillProcessor as rustc_data_structures[201c6ced6e2f5255]::obligation_forest::ObligationProcessor>::process_obligation
44: 0x7fff7ddbb28f - <rustc_data_structures[201c6ced6e2f5255]::obligation_forest::ObligationForest<rustc_trait_selection[380248135e80b586]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[380248135e80b586]::traits::fulfill::FulfillProcessor>
45: 0x7fff7de3e9fb - <alloc[32e310b5ae9da1df]::raw_vec::RawVec<rustc_type_ir[c6b2233d270133a9]::search_graph::stack::StackEntry<rustc_middle[7a9f6d0772b0e5ea]::ty::context::TyCtxt>>>::grow_one
46: 0x7fff7d1ba229 - rustc_hir_analysis[f7c4d306c9c42c19]::check::wfcheck::check_well_formed
47: 0x7fff7d211a6c - rustc_hir_analysis[f7c4d306c9c42c19]::check_crate
48: 0x7fff7d1b322c - rustc_hir_analysis[f7c4d306c9c42c19]::check::wfcheck::check_well_formed
49: 0x7fff7dd5cb1b - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
50: 0x7fff7dc9f697 - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtCs2KVqGvLot8v_21rustc_data_structures9vec_cache8VecCacheNtNtCsctD8KnfPWOA_10rustc_span6def_id10LocalDefIdINtNtNtCsawIwdSmi5Ly
51: 0x7fff7dd6b4a5 - rustc_query_impl[361a4cf8fe8cc9a1]::plumbing::query_key_hash_verify_all
52: 0x7fff7d1bdf5c - rustc_hir_analysis[f7c4d306c9c42c19]::check::wfcheck::check_type_wf
53: 0x7fff7c9c785b - <alloc[32e310b5ae9da1df]::sync::Arc<rustc_session[a3cae7cc1c4ed774]::cstore::CrateSource>>::drop_slow
54: 0x7fff7c8d5b8a - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCsawIwdSmi5Ly_12rustc_middle5query5erase6ErasedAhj1_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx
55: 0x7fff7c9dd263 - rustc_query_impl[361a4cf8fe8cc9a1]::query_system
56: 0x7fff7d205d3b - rustc_hir_analysis[f7c4d306c9c42c19]::check_crate
57: 0x7fff7ce8a0e6 - rustc_interface[d1b5364f93a0f68a]::passes::analysis
58: 0x7fff7c9cbf9a - <alloc[32e310b5ae9da1df]::sync::Arc<rustc_session[a3cae7cc1c4ed774]::cstore::CrateSource>>::drop_slow
59: 0x7fff7c8d187a - RINvNtNtCsfUzTRJIdkm9_18rustc_query_system5query8plumbing17try_execute_queryINtCs4DZekDd09mT_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCsawIwdSmi5Ly_12rustc_middle5query5erase6ErasedAhj0_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx
60: 0x7fff7c9d2393 - rustc_query_impl[361a4cf8fe8cc9a1]::query_system
61: 0x7fff79318390 - std[b79617825e2e9698]::sys::backtrace::__rust_begin_short_backtrace::<<std[b79617825e2e9698]::thread::Builder>::spawn_unchecked_<ctrlc[5263c6e5b7d8593f]::set_handler_inner<rustc_driver_impl[e9b880bf27d4a298]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
62: 0x7fff793129f6 - std[b79617825e2e9698]::sys::backtrace::__rust_begin_short_backtrace::<<std[b79617825e2e9698]::thread::Builder>::spawn_unchecked_<ctrlc[5263c6e5b7d8593f]::set_handler_inner<rustc_driver_impl[e9b880bf27d4a298]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
63: 0x7fff7930e3ef - RINvNtNtCsfLdZ09muTc2_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCsi0gJWNUH6L6_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCsk45zuI9qXCS_17rustc_driver_i
64: 0x7fff7931c70d - std[b79617825e2e9698]::sys::backtrace::__rust_begin_short_backtrace::<<std[b79617825e2e9698]::thread::Builder>::spawn_unchecked_<ctrlc[5263c6e5b7d8593f]::set_handler_inner<rustc_driver_impl[e9b880bf27d4a298]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
65: 0x7fff7ce25a1d - alloc::boxed::impl$28::call_once
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\alloc\src\boxed.rs:1966
66: 0x7fff7ce25a1d - alloc::boxed::impl$28::call_once
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\alloc\src\boxed.rs:1966
67: 0x7fff7ce25a1d - std::sys::pal::windows::thread::impl$0::new::thread_start
at /rustc/c68340350c78eea402c4a85f8d9c1b7d3d607635/library\std\src\sys\pal\windows\thread.rs:56
68: 0x7ff84fc97374 - BaseThreadInitThunk
69: 0x7ff85139cc91 - RtlUserThreadStart
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
query stack during panic:
#0 [typeck] type-checking `X::{constant#0}`
#1 [thir_body] building THIR for `X::{constant#0}`
#2 [thir_abstract_const] building an abstract representation for `X::{constant#0}`
#3 [check_well_formed] checking that `X` is well-formed
#4 [check_type_wf] checking that types are well-formed
#5 [analysis] running analysis passes on this crate
end of query stack