Skip to content

ICE: generic_const_parameter_types const referencing lifetime #153039

@khyperia

Description

@khyperia

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. ban for<'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 true is 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions