rust-lang / rust-lang/rust

[ICE]: `was matchable against Binder.. `

Open
#158,527 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug F-associated_type_defaults fixed-by-next-solver I-ICE needs-triage T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

original:

#![feature(associated_type_defaults)]
trait Trait<T, U> {
    type Assoc = LocalTy;
}

struct LocalTy;

impl<T, U> Trait<T, U> for <() as Trait<T, U>>::Assoc {}

fn main() {}

Version information

rustc 1.98.0-nightly (b4486cacf 2026-06-28)
binary: rustc
commit-hash: b4486cacf58926f02e451d96e71e20882faf5453
commit-date: 2026-06-28
host: x86_64-unknown-linux-gnu
release: 1.98.0-nightly
LLVM version: 22.1.8

Possibly related line of code:
https://github.com/rust-lang/rust/blob/b4486cacf58926f02e451d96e71e20882faf5453/compiler/rustc_trait_selection/src/traits/select/mod.rs#L2516-L2528

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error: internal compiler error: /rustc-dev/b4486cacf58926f02e451d96e71e20882faf5453/compiler/rustc_trait_selection/src/traits/select/mod.rs:2522:17: impl DefId(0:9 ~ report[67f0]::{impl#0}) was matchable against Binder { value: TraitPredicate(<() as Trait<_, _>>, polarity:Positive), bound_vars: [] } but now is not


thread 'rustc' (1757528) panicked at /rustc-dev/b4486cacf58926f02e451d96e71e20882faf5453/compiler/rustc_trait_selection/src/traits/select/mod.rs:2522:17:
Box<dyn Any>
stack backtrace:
   0:     0x7fc2eb4d6cc9 - <<std[573addc0c2cf0434]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c27ea7801c6a3590]::fmt::Display>::fmt
   1:     0x7fc2ebc0f4c8 - core[c27ea7801c6a3590]::fmt::write
   2:     0x7fc2eb4ed336 - <std[573addc0c2cf0434]::sys::stdio::unix::Stderr as std[573addc0c2cf0434]::io::Write>::write_fmt
   3:     0x7fc2eb4abe2e - std[573addc0c2cf0434]::panicking::default_hook::{closure#0}
   4:     0x7fc2eb4c9843 - std[573addc0c2cf0434]::panicking::default_hook
   5:     0x7fc2ea4b90b1 - std[573addc0c2cf0434]::panicking::update_hook::<alloc[d510c8850a0687d9]::boxed::Box<rustc_driver_impl[e12595ae4ff017a1]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7fc2eb4c9c92 - std[573addc0c2cf0434]::panicking::panic_with_hook
   7:     0x7fc2ea4e6ed1 - std[573addc0c2cf0434]::panicking::begin_panic::<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>::{closure#0}
   8:     0x7fc2ea4dfc46 - std[573addc0c2cf0434]::sys::backtrace::__rust_end_short_backtrace::<std[573addc0c2cf0434]::panicking::begin_panic<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>::{closure#0}, !>
   9:     0x7fc2ea4ddbd7 - std[573addc0c2cf0434]::panicking::begin_panic::<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>
  10:     0x7fc2ea4f2061 - <rustc_errors[ff42f9ed4fa5ae81]::diagnostic::BugAbort as rustc_errors[ff42f9ed4fa5ae81]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:     0x7fc2eaa6cf19 - rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt::<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}
  12:     0x7fc2eaa6d082 - rustc_middle[d84885d3341fb98a]::ty::context::tls::with_opt::<rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  13:     0x7fc2eaa58c9b - rustc_middle[d84885d3341fb98a]::ty::context::tls::with_context_opt::<rustc_middle[d84885d3341fb98a]::ty::context::tls::with_opt<rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  14:     0x7fc2e7d35a24 - rustc_middle[d84885d3341fb98a]::util::bug::bug_fmt
  15:     0x7fc2ecc2b66d - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  16:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  17:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  18:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  19:     0x7fc2ecc1c4ee - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  20:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  21:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  22:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  23:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  24:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  25:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  26:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  27:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  28:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  29:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  30:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  31:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  32:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  33:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  34:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  35:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  36:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  37:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  38:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  39:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  40:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  41:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  42:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  43:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  44:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  45:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  46:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  47:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  48:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  49:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  50:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  51:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  52:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  53:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  54:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  55:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  56:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  57:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  58:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  59:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  60:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  61:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  62:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  63:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  64:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  65:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  66:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  67:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  68:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  69:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  70:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  71:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  72:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  73:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  74:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  75:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  76:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  77:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  78:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  79:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  80:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  81:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  82:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  83:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  84:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  85:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  86:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  87:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  88:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  89:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  90:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  91:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  92:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  93:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  94:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  95:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  96:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  97:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  98:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  99:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 100:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 101:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 102:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 103:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 104:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 105:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 106:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 107:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 108:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 109:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 110:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 111:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 112:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 113:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 114:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 115:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 116:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 117:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 118:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 119:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 120:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 121:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 122:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 123:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 124:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 125:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 126:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 127:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 128:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 129:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 130:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 131:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 132:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 133:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 134:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 135:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 136:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 137:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 138:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 139:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 140:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 141:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 142:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 143:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 144:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 145:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 146:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 147:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 148:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 149:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 150:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 151:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 152:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 153:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 154:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 155:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 156:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 157:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 158:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 159:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 160:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 161:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 162:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 163:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 164:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 165:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 166:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 167:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 168:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 169:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 170:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 171:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 172:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 173:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 174:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 
 
 
 ...
 
 
 
 
  896:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 897:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 898:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 899:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 900:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 901:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 902:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 903:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 904:     0x7fc2ec85541e - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 905:     0x7fc2ec855218 - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_predicate
 906:     0x7fc2ec852db6 - rustc_hir_analysis[9af78ea8fac00e00]::check::compare_impl_item::check_type_bounds
 907:     0x7fc2eca48b4b - rustc_hir_analysis[9af78ea8fac00e00]::check::check::check_item_type
 908:     0x7fc2eca40370 - rustc_hir_analysis[9af78ea8fac00e00]::check::wfcheck::check_well_formed
 909:     0x7fc2eca40351 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
 910:     0x7fc2eca3f931 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_data_structures[ef8155711465d54]::vec_cache::VecCache<rustc_span[a1c65850fba93de6]::def_id::LocalDefId, rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[d84885d3341fb98a]::dep_graph::graph::DepNodeIndex>, false>
 911:     0x7fc2eca3f6c7 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
 912:     0x7fc2eca3c145 - rustc_hir_analysis[9af78ea8fac00e00]::check::wfcheck::check_type_wf
 913:     0x7fc2eca3c053 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
 914:     0x7fc2ecd1b346 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_middle[d84885d3341fb98a]::query::caches::SingleCache<rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 1usize]>>, false>
 915:     0x7fc2ecd1b129 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
 916:     0x7fc2ec0ded5a - rustc_hir_analysis[9af78ea8fac00e00]::check_crate
 917:     0x7fc2ec0e2aba - rustc_interface[6e19eb1cb5d3bd8]::passes::analysis
 918:     0x7fc2ecd1c147 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_middle[d84885d3341fb98a]::query::caches::SingleCache<rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 0usize]>>, false>
 919:     0x7fc2ecd1be29 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
 920:     0x7fc2ecce2040 - rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler::<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}
 921:     0x7fc2ecd31efa - std[573addc0c2cf0434]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_with_globals<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_pool_with_globals<rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
 922:     0x7fc2ecd31cad - <std[573addc0c2cf0434]::thread::lifecycle::spawn_unchecked<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_with_globals<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_pool_with_globals<rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[c27ea7801c6a3590]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 923:     0x7fc2ecd28190 - <std[573addc0c2cf0434]::sys::thread::unix::Thread>::new::thread_start
 924:     0x7fc2e66981b9 - <unknown>
 925:     0x7fc2e671d21c - <unknown>
 926:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please make sure that you have updated to the latest nightly

note: please attach the file at `/tmp/imr/rustc-ice-2026-06-28T15_35_44-1757526.txt` to your bug report

note: rustc 1.98.0-nightly (b4486cacf 2026-06-28) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [check_well_formed] checking that `Trait` is well-formed
#1 [check_type_wf] checking that types are well-formed
#2 [analysis] running analysis passes on crate `report`
end of query stack


...


thread 'rustc' (1757528) panicked at /rustc-dev/b4486cacf58926f02e451d96e71e20882faf5453/compiler/rustc_trait_selection/src/traits/select/mod.rs:2522:17:
Box<dyn Any>
stack backtrace:
   0:     0x7fc2eb4d6cc9 - <<std[573addc0c2cf0434]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c27ea7801c6a3590]::fmt::Display>::fmt
   1:     0x7fc2ebc0f4c8 - core[c27ea7801c6a3590]::fmt::write
   2:     0x7fc2eb4ed336 - <std[573addc0c2cf0434]::sys::stdio::unix::Stderr as std[573addc0c2cf0434]::io::Write>::write_fmt
   3:     0x7fc2eb4abe2e - std[573addc0c2cf0434]::panicking::default_hook::{closure#0}
   4:     0x7fc2eb4c9843 - std[573addc0c2cf0434]::panicking::default_hook
   5:     0x7fc2ea4b90b1 - std[573addc0c2cf0434]::panicking::update_hook::<alloc[d510c8850a0687d9]::boxed::Box<rustc_driver_impl[e12595ae4ff017a1]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7fc2eb4c9c92 - std[573addc0c2cf0434]::panicking::panic_with_hook
   7:     0x7fc2ea4e6ed1 - std[573addc0c2cf0434]::panicking::begin_panic::<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>::{closure#0}
   8:     0x7fc2ea4dfc46 - std[573addc0c2cf0434]::sys::backtrace::__rust_end_short_backtrace::<std[573addc0c2cf0434]::panicking::begin_panic<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>::{closure#0}, !>
   9:     0x7fc2ea4ddbd7 - std[573addc0c2cf0434]::panicking::begin_panic::<rustc_errors[ff42f9ed4fa5ae81]::ExplicitBug>
  10:     0x7fc2ea4f2061 - <rustc_errors[ff42f9ed4fa5ae81]::diagnostic::BugAbort as rustc_errors[ff42f9ed4fa5ae81]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:     0x7fc2eaa6cf19 - rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt::<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}
  12:     0x7fc2eaa6d082 - rustc_middle[d84885d3341fb98a]::ty::context::tls::with_opt::<rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  13:     0x7fc2eaa58c9b - rustc_middle[d84885d3341fb98a]::ty::context::tls::with_context_opt::<rustc_middle[d84885d3341fb98a]::ty::context::tls::with_opt<rustc_middle[d84885d3341fb98a]::util::bug::opt_span_bug_fmt<rustc_span[a1c65850fba93de6]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  14:     0x7fc2e7d35a24 - rustc_middle[d84885d3341fb98a]::util::bug::bug_fmt
  15:     0x7fc2ecc2b66d - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  16:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  17:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  18:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  19:     0x7fc2ecc1c4ee - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  20:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  21:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  22:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  23:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  24:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  25:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  26:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  27:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  28:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  29:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  30:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  31:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  32:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  33:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  34:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  35:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  36:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  37:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  38:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  39:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  40:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  41:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  42:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
  43:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
  44:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
  45:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
  46:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  47:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
  48:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
  
  ...
  
   882:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 883:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 884:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 885:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 886:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 887:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 888:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 889:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 890:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 891:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 892:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 893:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 894:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 895:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 896:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 897:     0x7fc2ebc78629 - <&rustc_middle[d84885d3341fb98a]::ty::list::RawList<(), rustc_middle[d84885d3341fb98a]::ty::generic_args::GenericArg> as rustc_type_ir[773370f47054d08d]::fold::TypeFoldable<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_with::<rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer>
 898:     0x7fc2e7d05d8e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::match_impl::{closure#0}
 899:     0x7fc2ebd00b42 - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::assemble_candidates_from_impls
 900:     0x7fc2ebd07d3c - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
 901:     0x7fc2ecc1a14e - <rustc_trait_selection[da421b44bd9ede1a]::traits::select::SelectionContext>::poly_select::{closure#0}
 902:     0x7fc2ebc7a492 - rustc_trait_selection[da421b44bd9ede1a]::traits::project::normalize_projection_term
 903:     0x7fc2ebc78c1b - <rustc_trait_selection[da421b44bd9ede1a]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[773370f47054d08d]::fold::TypeFolder<rustc_middle[d84885d3341fb98a]::ty::context::TyCtxt>>::fold_ty
 904:     0x7fc2ec1484fd - <rustc_trait_selection[da421b44bd9ede1a]::traits::engine::ObligationCtxt>::normalize::<rustc_middle[d84885d3341fb98a]::ty::Ty>
 905:     0x7fc2ec146396 - rustc_ty_utils[1a5d3c1af3d9d1f3]::ty::impl_self_is_guaranteed_unsized
 906:     0x7fc2ec145e2b - rustc_query_impl[b1c529cffd53bfe7]::query_impl::impl_self_is_guaranteed_unsized::invoke_provider_fn::__rust_begin_short_backtrace
 907:     0x7fc2ec4fd82d - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_middle[d84885d3341fb98a]::query::caches::DefIdCache<rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 1usize]>>, false>
 908:     0x7fc2ec4fd100 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::impl_self_is_guaranteed_unsized::execute_query_non_incr::__rust_end_short_backtrace
 909:     0x7fc2eca4298a - rustc_hir_analysis[9af78ea8fac00e00]::check::check::check_item_type
 910:     0x7fc2eca40370 - rustc_hir_analysis[9af78ea8fac00e00]::check::wfcheck::check_well_formed
 911:     0x7fc2eca40351 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
 912:     0x7fc2eca3f931 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_data_structures[ef8155711465d54]::vec_cache::VecCache<rustc_span[a1c65850fba93de6]::def_id::LocalDefId, rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[d84885d3341fb98a]::dep_graph::graph::DepNodeIndex>, false>
 913:     0x7fc2eca3f6c7 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
 914:     0x7fc2eca3c145 - rustc_hir_analysis[9af78ea8fac00e00]::check::wfcheck::check_type_wf
 915:     0x7fc2eca3c053 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
 916:     0x7fc2ecd1b346 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_middle[d84885d3341fb98a]::query::caches::SingleCache<rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 1usize]>>, false>
 917:     0x7fc2ecd1b129 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
 918:     0x7fc2ec0ded5a - rustc_hir_analysis[9af78ea8fac00e00]::check_crate
 919:     0x7fc2ec0e2aba - rustc_interface[6e19eb1cb5d3bd8]::passes::analysis
 920:     0x7fc2ecd1c147 - rustc_query_impl[b1c529cffd53bfe7]::execution::try_execute_query::<rustc_middle[d84885d3341fb98a]::query::caches::SingleCache<rustc_middle[d84885d3341fb98a]::query::erase::ErasedData<[u8; 0usize]>>, false>
 921:     0x7fc2ecd1be29 - rustc_query_impl[b1c529cffd53bfe7]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
 922:     0x7fc2ecce2040 - rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler::<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}
 923:     0x7fc2ecd31efa - std[573addc0c2cf0434]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_with_globals<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_pool_with_globals<rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
 924:     0x7fc2ecd31cad - <std[573addc0c2cf0434]::thread::lifecycle::spawn_unchecked<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_with_globals<rustc_interface[6e19eb1cb5d3bd8]::util::run_in_thread_pool_with_globals<rustc_interface[6e19eb1cb5d3bd8]::interface::run_compiler<(), rustc_driver_impl[e12595ae4ff017a1]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[c27ea7801c6a3590]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 925:     0x7fc2ecd28190 - <std[573addc0c2cf0434]::sys::thread::unix::Thread>::new::thread_start
 926:     0x7fc2e66981b9 - <unknown>
 927:     0x7fc2e671d21c - <unknown>
 928:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please make sure that you have updated to the latest nightly

note: please attach the file at `/tmp/imr/rustc-ice-2026-06-28T15_35_44-1757526.txt` to your bug report

note: rustc 1.98.0-nightly (b4486cacf 2026-06-28) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [impl_self_is_guaranteed_unsized] computing whether `<impl at report.rs:8:1: 8:54>` has a guaranteed unsized self type
#1 [check_well_formed] checking that `<impl at report.rs:8:1: 8:54>` is well-formed
#2 [check_type_wf] checking that types are well-formed
#3 [analysis] running analysis passes on crate `report`
end of query stack
error: aborting due to 1 previous error

@rustbot label +F-associated_type_defaults

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by compiling the minimal reproducer in /tmp/imr/report.rs with the reported nightly toolchain and confirm the ICE. Then inspect compiler/rustc_trait_selection/src/traits/select/mod.rs around lines 2516-2528 and trace the associated-type normalization path shown in the backtrace. Done means the reproducer no longer triggers an internal compiler error, with a regression test covering the case.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.