-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Closed
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) ❄️T-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.
Description
Code
#![feature(adt_const_params, unsized_const_params, generic_const_parameter_types)]
#![allow(incomplete_features)]
trait Object<'a, const N: &'a u32> {}
fn binder<const B: bool>(param: &dyn for<'a> Object<'a, true>) {}
fn main() {}Discovered in #152931
Three stages of what "should" happen:
- Currently it should probably
//@ check-pass, ignoring the type error, instead of ICEing. - Next,
feature(generic_const_parameter_types)should probably disallow ConstArgHasType obligations to reference lifetimes introduced by a sibling in the binder that introduces the const parameter (i.e. banfor<'a, const N: &'a u32>). - Eventually, in a possible cool future world, generic_const_parameter_types will allow that, and it should type error on the fact that
trueis not a&'a u32.
Meta
tested on my rustc checkout d8b2222
and also ices on stable: rustc --version --verbose:
rustc 1.93.1 (01f6ddf75 2026-02-11)
binary: rustc
commit-hash: 01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf
commit-date: 2026-02-11
host: x86_64-unknown-linux-gnu
release: 1.93.1
LLVM version: 21.1.8
Error output
Backtrace
Building stage1 compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 lld-wrapper (stage0 -> stage1, x86_64-unknown-linux-gnu)
Building stage1 library artifacts (stage1 -> stage1, x86_64-unknown-linux-gnu)
Building stage1 compiletest (stage0 -> stage1, x86_64-unknown-linux-gnu)
Testing stage1 with compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu)
running 1 tests
[ui] tests/ui/blah.rs ... F
failures:
---- [ui] tests/ui/blah.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/d/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/d/rust/tests/ui/blah.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/home/khyperia/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/d/rust/vendor" "--sysroot" "/d/rust/build/x86_64-unknown-linux-gnu/stage1" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/d/rust/build/x86_64-unknown-linux-gnu/test/ui/blah" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/d/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
thread 'rustc' (23282) panicked at compiler/rustc_trait_selection/src/traits/normalize.rs:173:9:
Normalizing &'^0.Named(DefId(0:8 ~ blah[fa46]::binder::'a)) u32 without wrapping in a `Binder`
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
1: core::panicking::panic_fmt
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
2: fold<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:173:9
3: {closure#0}<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:122:45
4: maybe_grow<rustc_middle::ty::Ty, rustc_trait_selection::traits::normalize::normalize_with_depth_to::{closure_env#0}<rustc_middle::ty::Ty>>
at /home/khyperia/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stacker-0.1.21/src/lib.rs:57:9
5: ensure_sufficient_stack<rustc_middle::ty::Ty, rustc_trait_selection::traits::normalize::normalize_with_depth_to::{closure_env#0}<rustc_middle::ty::Ty>>
at ./compiler/rustc_data_structures/src/stack.rs:21:5
6: normalize_with_depth_to<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:122:18
7: normalize_with_depth<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:104:17
8: normalize<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:37:17
9: normalize<rustc_middle::ty::Ty>
at ./compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs:420:55
10: {closure#0}
at ./compiler/rustc_hir_typeck/src/lib.rs:196:33
11: typeck_with_inspect
at ./compiler/rustc_hir_typeck/src/lib.rs:103:1
[... omitted 20 frames ...]
12: query_get_at<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>>
at ./compiler/rustc_middle/src/query/inner.rs:47:17
13: typeck<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:502:42
14: typeck<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:491:35
15: check_match
at ./compiler/rustc_mir_build/src/thir/pattern/check_match.rs:34:30
[... omitted 20 frames ...]
16: query_ensure_error_guaranteed<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, ()>
at ./compiler/rustc_middle/src/query/inner.rs:85:9
17: check_match<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:272:9
18: build_mir_inner_impl
at ./compiler/rustc_mir_build/src/builder/mod.rs:72:37
19: build_mir_inner_impl
at ./compiler/rustc_middle/src/hooks/mod.rs:23:17
20: mir_built
at ./compiler/rustc_mir_transform/src/lib.rs:393:24
[... omitted 20 frames ...]
21: query_get_at<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>>
at ./compiler/rustc_middle/src/query/inner.rs:47:17
22: mir_built<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:502:42
23: mir_built<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:491:35
24: {closure#0}
at ./compiler/rustc_mir_transform/src/trivial_const.rs:109:36
25: trivial_const<rustc_mir_transform::trivial_const::trivial_const_provider::{closure_env#0}, lock_api::rwlock::MappedRwLockReadGuard<parking_lot::raw_rwlock::RawRwLock, rustc_middle::mir::Body>>
at ./compiler/rustc_mir_transform/src/trivial_const.rs:59:16
26: rustc_mir_transform::trivial_const::trivial_const_provider
at ./compiler/rustc_mir_transform/src/trivial_const.rs:109:5
[... omitted 20 frames ...]
27: query_get_at<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 32]>>>
at ./compiler/rustc_middle/src/query/inner.rs:47:17
28: trivial_const<rustc_span::def_id::DefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:502:42
29: trivial_const<rustc_span::def_id::DefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:491:35
30: eval_in_interpreter<rustc_middle::mir::consts::ConstAlloc>
at ./compiler/rustc_const_eval/src/const_eval/eval_queries.rs:412:49
31: eval_to_allocation_raw_provider
at ./compiler/rustc_const_eval/src/const_eval/eval_queries.rs:388:5
[... omitted 20 frames ...]
32: query_get_at<rustc_middle::query::caches::DefaultCache<rustc_middle::ty::PseudoCanonicalInput<rustc_middle::mir::interpret::GlobalId>, rustc_middle::query::erase::ErasedData<[u8; 24]>>>
at ./compiler/rustc_middle/src/query/inner.rs:47:17
33: eval_to_allocation_raw
at ./compiler/rustc_middle/src/query/plumbing.rs:502:42
34: eval_to_allocation_raw
at ./compiler/rustc_middle/src/query/plumbing.rs:491:35
35: eval_to_valtree
at ./compiler/rustc_const_eval/src/const_eval/valtrees.rs:242:27
36: {closure#0}
at ./compiler/rustc_const_eval/src/lib.rs:37:9
37: call_once<rustc_const_eval::provide::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_middle::ty::PseudoCanonicalInput<rustc_middle::mir::interpret::GlobalId>)>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[... omitted 20 frames ...]
38: query_get_at<rustc_middle::query::caches::DefaultCache<rustc_middle::ty::PseudoCanonicalInput<rustc_middle::mir::interpret::GlobalId>, rustc_middle::query::erase::ErasedData<[u8; 16]>>>
at ./compiler/rustc_middle/src/query/inner.rs:47:17
39: eval_to_valtree
at ./compiler/rustc_middle/src/query/plumbing.rs:502:42
40: const_eval_global_id_for_typeck
at ./compiler/rustc_middle/src/mir/interpret/queries.rs:203:27
41: const_eval_resolve_for_typeck
at ./compiler/rustc_middle/src/mir/interpret/queries.rs:120:14
42: {closure#0}
at ./compiler/rustc_trait_selection/src/traits/mod.rs:729:23
43: try_evaluate_const
at ./compiler/rustc_trait_selection/src/traits/mod.rs:589:1
44: evaluate_const
at ./compiler/rustc_trait_selection/src/traits/mod.rs:572:11
45: {closure#0}
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:476:26
46: with_replaced_escaping_bound_vars<rustc_middle::ty::consts::Const, rustc_middle::ty::consts::Const, rustc_trait_selection::traits::normalize::{impl#1}::fold_const::{closure_env#0}>
at ./compiler/rustc_trait_selection/src/traits/util.rs:216:9
47: fold_const
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:472:17
48: fold_with<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_middle/src/ty/generic_args.rs:345:45
49: fold_with<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_middle/src/ty/generic_args.rs:640:38
50: fold_with<rustc_middle::ty::context::TyCtxt, rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_type_ir/src/predicate.rs:342:55
51: fold_with<rustc_middle::ty::context::TyCtxt, rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_type_ir/src/predicate.rs:283:55
52: {closure#0}<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>, rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_type_ir/src/binder.rs:150:30
53: map_bound<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>, rustc_type_ir::binder::{impl#5}::super_fold_with::{closure_env#0}<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>, rustc_trait_selection::traits::normalize::AssocTypeNormalizer>, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>
at ./compiler/rustc_type_ir/src/binder.rs:205:21
54: super_fold_with<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>, rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_type_ir/src/binder.rs:150:14
55: fold_binder<rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:359:19
56: <rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>> as rustc_type_ir::fold::TypeFoldable<rustc_middle::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_type_ir/src/binder.rs:131:16
57: {closure#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>
at ./compiler/rustc_middle/src/ty/util.rs:1593:23
58: {closure#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/traits/iterator.rs:2933:32
59: {closure#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/enumerate.rs:119:27
60: {closure#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::adapters::enumerate::{impl#1}::try_fold::enumerate::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/copied.rs:40:22
61: try_fold<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, (), core::iter::adapters::copied::copy_try_fold::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::adapters::enumerate::{impl#1}::try_fold::enumerate::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>>, core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/traits/iterator.rs:2434:21
62: try_fold<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::iter::adapters::enumerate::{impl#1}::try_fold::enumerate::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>, core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/copied.rs:74:17
63: spec_try_fold<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>>, (), core::iter::adapters::enumerate::{impl#1}::try_fold::enumerate::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>, core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/traits/iterator.rs:4222:18
64: try_fold<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>>, (), core::iter::adapters::enumerate::{impl#1}::try_fold::enumerate::{closure_env#0}<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, (), core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>, core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>>, core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/traits/iterator.rs:4173:14
65: try_fold<&mut core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>>, (), core::iter::traits::iterator::Iterator::find_map::check::{closure_env#0}<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>, core::ops::control_flow::ControlFlow<(usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), ()>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/enumerate.rs:125:19
66: find_map<core::iter::adapters::enumerate::Enumerate<&mut core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>>>, (usize, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>), rustc_middle::ty::util::fold_list::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/traits/iterator.rs:2939:14
67: fold_list<rustc_trait_selection::traits::normalize::AssocTypeNormalizer, &rustc_middle::ty::list::RawList<(), rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>>, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::ExistentialPredicate<rustc_middle::ty::context::TyCtxt>>, rustc_middle::ty::structural_impls::{impl#162}::fold_with::{closure_env#0}<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>>
at ./compiler/rustc_middle/src/ty/util.rs:1592:37
68: super_fold_with<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_middle/src/ty/structural_impls.rs:405:38
69: fold_ty
70: fold_with<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_middle/src/ty/structural_impls.rs:339:16
71: super_fold_with<rustc_trait_selection::traits::normalize::AssocTypeNormalizer>
at ./compiler/rustc_middle/src/ty/structural_impls.rs:411:70
72: fold_ty
73: fold<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:178:82
74: {closure#0}<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:122:45
75: maybe_grow<rustc_middle::ty::Ty, rustc_trait_selection::traits::normalize::normalize_with_depth_to::{closure_env#0}<rustc_middle::ty::Ty>>
at /home/khyperia/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stacker-0.1.21/src/lib.rs:57:9
76: ensure_sufficient_stack<rustc_middle::ty::Ty, rustc_trait_selection::traits::normalize::normalize_with_depth_to::{closure_env#0}<rustc_middle::ty::Ty>>
at ./compiler/rustc_data_structures/src/stack.rs:21:5
77: normalize_with_depth_to<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:122:18
78: normalize_with_depth<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:104:17
79: normalize<rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/normalize.rs:37:17
80: normalize<rustc_trait_selection::traits::FulfillmentError, rustc_middle::ty::Ty>
at ./compiler/rustc_trait_selection/src/traits/engine.rs:118:56
81: normalize<rustc_middle::ty::Ty>
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:71:18
82: {closure#1}
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:1626:18
83: call_once<((usize, rustc_middle::ty::Ty)), rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure_env#1}>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:310:21
84: map<(usize, rustc_middle::ty::Ty), rustc_middle::ty::Ty, &mut rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure_env#1}>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/option.rs:1165:29
85: next<rustc_middle::ty::Ty, core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure_env#1}>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/map.rs:107:26
86: collect_and_apply<rustc_middle::ty::Ty, &rustc_middle::ty::list::RawList<(), rustc_middle::ty::Ty>, core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure_env#1}>, rustc_middle::ty::context::{impl#42}::mk_type_list_from_iter::{closure_env#0}<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure_env#1}>, rustc_middle::ty::Ty>>
at ./compiler/rustc_type_ir/src/interner.rs:451:29
87: <rustc_middle::ty::context::TyCtxt>::mk_type_list_from_iter::<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>, rustc_hir_analysis::check::wfcheck::check_fn_or_method::{closure#1}>, rustc_middle::ty::Ty>
at ./compiler/rustc_middle/src/ty/context.rs:2436:9
88: check_fn_or_method
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:1625:13
89: {closure#0}
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:1191:9
90: enter_wf_checking_ctxt<rustc_hir_analysis::check::wfcheck::check_item_fn::{closure_env#0}>
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:145:5
91: check_item_fn
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:1187:5
92: check_item
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:294:42
93: check_item_type
at ./compiler/rustc_hir_analysis/src/check/check.rs:1119:34
94: check_well_formed
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:197:19
[... omitted 20 frames ...]
95: query_ensure_error_guaranteed<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, ()>
at ./compiler/rustc_middle/src/query/inner.rs:85:9
96: check_well_formed<rustc_span::def_id::LocalDefId>
at ./compiler/rustc_middle/src/query/plumbing.rs:272:9
97: {closure#0}
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:2337:43
98: {closure#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>
at ./compiler/rustc_middle/src/hir/mod.rs:113:58
99: {closure#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:189:55
100: call_once<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure#1}::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
101: do_call<core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure#1}::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
102: catch_unwind<core::result::Result<(), rustc_span::ErrorGuaranteed>, core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure#1}::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
103: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure#1}::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
104: run<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure#1}::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:23:9
105: {closure#1}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:189:48
106: {closure#0}<&rustc_hir::hir::ItemId, core::result::Result<(), rustc_span::ErrorGuaranteed>, core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure_env#1}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>, fn(core::result::Result<(), rustc_span::ErrorGuaranteed>, core::result::Result<(), rustc_span::ErrorGuaranteed>) -> core::result::Result<(), rustc_span::ErrorGuaranteed>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/filter_map.rs:39:28
107: fold<rustc_hir::hir::ItemId, core::result::Result<(), rustc_span::ErrorGuaranteed>, core::iter::adapters::filter_map::filter_map_fold::{closure_env#0}<&rustc_hir::hir::ItemId, core::result::Result<(), rustc_span::ErrorGuaranteed>, core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure_env#1}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>, fn(core::result::Result<(), rustc_span::ErrorGuaranteed>, core::result::Result<(), rustc_span::ErrorGuaranteed>) -> core::result::Result<(), rustc_span::ErrorGuaranteed>>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/slice/iter/macros.rs:279:27
108: fold<core::result::Result<(), rustc_span::ErrorGuaranteed>, core::slice::iter::Iter<rustc_hir::hir::ItemId>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure#0}::{closure_env#1}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>, core::result::Result<(), rustc_span::ErrorGuaranteed>, fn(core::result::Result<(), rustc_span::ErrorGuaranteed>, core::result::Result<(), rustc_span::ErrorGuaranteed>) -> core::result::Result<(), rustc_span::ErrorGuaranteed>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/iter/adapters/filter_map.rs:146:19
109: {closure#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:189:70
110: parallel_guard<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_data_structures::sync::parallel::try_par_for_each_in::{closure_env#0}<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:39:15
111: try_par_for_each_in<&[rustc_hir::hir::ItemId], rustc_span::ErrorGuaranteed, rustc_middle::hir::{impl#0}::par_items::{closure_env#0}<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure_env#0}>>
at ./compiler/rustc_data_structures/src/sync/parallel.rs:175:5
112: <rustc_middle::hir::ModuleItems>::par_items::<rustc_hir_analysis::check::wfcheck::check_type_wf::{closure#0}>
at ./compiler/rustc_middle/src/hir/mod.rs:113:9
113: check_type_wf
at ./compiler/rustc_hir_analysis/src/check/wfcheck.rs:2337:10
[... omitted 20 frames ...]
114: query_ensure_error_guaranteed<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, ()>
at ./compiler/rustc_middle/src/query/inner.rs:85:9
115: check_type_wf
at ./compiler/rustc_middle/src/query/plumbing.rs:272:9
116: {closure#0}
at ./compiler/rustc_hir_analysis/src/lib.rs:179:36
117: run<(), rustc_hir_analysis::check_crate::{closure_env#0}>
at ./compiler/rustc_data_structures/src/profiling.rs:845:9
118: time<(), rustc_hir_analysis::check_crate::{closure_env#0}>
at ./compiler/rustc_session/src/utils.rs:17:50
119: check_crate
at ./compiler/rustc_hir_analysis/src/lib.rs:174:14
120: run_required_analyses
at ./compiler/rustc_interface/src/passes.rs:1062:5
121: analysis
at ./compiler/rustc_interface/src/passes.rs:1114:5
[... omitted 20 frames ...]
122: query_ensure<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>>
at ./compiler/rustc_middle/src/query/inner.rs:64:9
123: analysis
at ./compiler/rustc_middle/src/query/plumbing.rs:269:9
124: {closure#2}
at ./compiler/rustc_driver_impl/src/lib.rs:325:29
125: {closure#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>
at ./compiler/rustc_interface/src/passes.rs:1004:23
126: {closure#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>
at ./compiler/rustc_middle/src/ty/context.rs:859:37
127: {closure#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>
at ./compiler/rustc_middle/src/ty/context/tls.rs:59:9
128: try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
129: with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>
at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
130: enter_context<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>
at ./compiler/rustc_middle/src/ty/context/tls.rs:56:9
131: enter<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>
at ./compiler/rustc_middle/src/ty/context.rs:859:9
132: create_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>>
at ./compiler/rustc_middle/src/ty/context.rs:1068:13
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: please make sure that you have updated to the latest nightly
note: rustc 1.95.0-dev running on x86_64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/home/khyperia/.cargo -Z ignore-directory-in-diagnostics-source-blocks=/d/rust/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [typeck] type-checking `binder::{constant#0}`
#1 [check_match] match-checking `binder::{constant#0}`
#2 [mir_built] building MIR for `binder::{constant#0}`
#3 [trivial_const] checking if `binder::{constant#0}` is a trivial const
#4 [eval_to_allocation_raw] const-evaluating + checking `binder::{constant#0}`
#5 [eval_to_valtree] evaluating type-level constant
#6 [check_well_formed] checking that `binder` is well-formed
#7 [check_type_wf] checking that types are well-formed
#8 [analysis] running analysis passes on crate `blah`
end of query stack
------------------------------------------
---- [ui] tests/ui/blah.rs stdout end ----
failures:
[ui] tests/ui/blah.rs
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 20660 filtered out; finished in 87.62ms
Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
Reactions are currently unavailable
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) ❄️T-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.
Type
Fields
Give feedbackNo fields configured for issues without a type.