Skip to content

[ICE]: Normalizing Binder { .. } without wrapping in a 'Binder' #159559

Description

@matthiaskrgr

Code

trait Cap<'a> {}

impl<T> Cap<'_> for T {}

fn fail_late_bound<'a>(
    a: &u8,
    _: &'a u8,
) -> impl IntoIterator<Item = impl Cap<'a> + IntoIterator<Item = impl Cap<'a>>> {
    [a]
}

fn main() {}

Meta

rustc --version --verbose:

rustc 1.99.0-nightly (eff8269f7 2026-07-18)
binary: rustc
commit-hash: eff8269f797067c30555e77f160ec84c0ed15cd9
commit-date: 2026-07-18
host: x86_64-unknown-linux-gnu
release: 1.99.0-nightly
LLVM version: 22.1.8

Error output

<output>
Backtrace

thread 'rustc' (1332607) panicked at /rustc-dev/eff8269f797067c30555e77f160ec84c0ed15cd9/compiler/rustc_trait_selection/src/traits/normalize.rs:178:9:
Normalizing Binder { value: TraitPredicate(<impl Cap<'a> + std::iter::IntoIterator<Item = impl Cap<'a>> as std::marker::Sized>, polarity:Positive), bound_vars: [] } without wrapping in a `Binder`
stack backtrace:
   0:     0x7f822e450a16 - <<std[2a8c3cd46992084f]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[f0447a45d83adb47]::fmt::Display>::fmt
   1:     0x7f822ea0ec88 - core[f0447a45d83adb47]::fmt::write
   2:     0x7f822e465c7c - <std[2a8c3cd46992084f]::sys::stdio::unix::Stderr as core[f0447a45d83adb47]::io::write::Write>::write_fmt
   3:     0x7f822e4226aa - std[2a8c3cd46992084f]::panicking::default_hook::{closure#0}
   4:     0x7f822e443143 - std[2a8c3cd46992084f]::panicking::default_hook
   5:     0x7f822d3fc04b - std[2a8c3cd46992084f]::panicking::update_hook::<alloc[4a894a599ddd1b2d]::boxed::Box<rustc_driver_impl[c2a64f8504684822]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7f822e4435e2 - std[2a8c3cd46992084f]::panicking::panic_with_hook
   7:     0x7f822e422762 - std[2a8c3cd46992084f]::panicking::panic_handler::{closure#0}
   8:     0x7f822e419509 - std[2a8c3cd46992084f]::sys::backtrace::__rust_end_short_backtrace::<std[2a8c3cd46992084f]::panicking::panic_handler::{closure#0}, !>
   9:     0x7f822e4240bd - __rustc[4368d8ad29db066c]::rust_begin_unwind
  10:     0x7f822b1de9fc - core[f0447a45d83adb47]::panicking::panic_fmt
  11:     0x7f822f088b08 - <rustc_trait_selection[230890ec563485ea]::traits::fulfill::FulfillProcessor as rustc_data_structures[6044b2f767527520]::obligation_forest::ObligationProcessor>::process_obligation
  12:     0x7f822ea05b11 - <rustc_data_structures[6044b2f767527520]::obligation_forest::ObligationForest<rustc_trait_selection[230890ec563485ea]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[230890ec563485ea]::traits::fulfill::FulfillProcessor>
  13:     0x7f822efb671a - <rustc_trait_selection[230890ec563485ea]::traits::fulfill::FulfillmentContext<rustc_infer[d64cf6f2c5f08818]::traits::engine::ScrubbedTraitError> as rustc_infer[d64cf6f2c5f08818]::traits::engine::TraitEngine<rustc_infer[d64cf6f2c5f08818]::traits::engine::ScrubbedTraitError>>::try_evaluate_obligations
  14:     0x7f822e141139 - <rustc_infer[d64cf6f2c5f08818]::infer::InferCtxt>::probe::<bool, <rustc_infer[d64cf6f2c5f08818]::infer::InferCtxt as rustc_trait_selection[230890ec563485ea]::infer::InferCtxtExt>::can_eq<rustc_middle[96c442875f2cb62c]::ty::Ty>::{closure#0}>
  15:     0x7f822e17cbc8 - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::point_at_chain_in_return_position::<rustc_span[157f53c51de8f998]::ErrorGuaranteed>
  16:     0x7f822e160360 - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span[157f53c51de8f998]::ErrorGuaranteed, rustc_type_ir[441055e7503a0c70]::binder::Binder<rustc_middle[96c442875f2cb62c]::ty::context::TyCtxt, rustc_type_ir[441055e7503a0c70]::predicate::TraitPredicate<rustc_middle[96c442875f2cb62c]::ty::context::TyCtxt>>>
  17:     0x7f822e173c5b - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span[157f53c51de8f998]::ErrorGuaranteed, rustc_middle[96c442875f2cb62c]::ty::predicate::Predicate>
  18:     0x7f822e27217e - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::note_obligation_cause
  19:     0x7f822e2604b8 - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::report_selection_error
  20:     0x7f822e287d7b - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::report_fulfillment_error
  21:     0x7f822cd0d47c - <rustc_trait_selection[230890ec563485ea]::error_reporting::TypeErrCtxt>::report_fulfillment_errors
  22:     0x7f822ed6dc77 - rustc_hir_typeck[ece4cbaa28ff66ee]::check::check_fn
  23:     0x7f822fbc6812 - rustc_hir_typeck[ece4cbaa28ff66ee]::typeck_with_inspect::{closure#0}
  24:     0x7f822fbc5130 - rustc_query_impl[5a309cdb9f26d392]::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
  25:     0x7f822f018469 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  26:     0x7f822f017ec3 - rustc_query_impl[5a309cdb9f26d392]::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
  27:     0x7f822f01f7d2 - rustc_mir_build[a2a0e438146d30c5]::thir::pattern::check_match::check_match
  28:     0x7f822f01e907 - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_match::invoke_provider_fn::__rust_begin_short_backtrace
  29:     0x7f822f4e87d3 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  30:     0x7f822f4e8436 - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_match::execute_query_non_incr::__rust_end_short_backtrace
  31:     0x7f822f3d8013 - rustc_mir_build[a2a0e438146d30c5]::builder::build_mir_inner_impl
  32:     0x7f822ea101aa - rustc_mir_transform[b9926d443c571f20]::mir_built
  33:     0x7f822f018469 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  34:     0x7f822f018043 - rustc_query_impl[5a309cdb9f26d392]::query_impl::mir_built::execute_query_non_incr::__rust_end_short_backtrace
  35:     0x7f822ea231bf - rustc_mir_transform[b9926d443c571f20]::ffi_unwind_calls::has_ffi_unwind_calls
  36:     0x7f822ea22c07 - rustc_query_impl[5a309cdb9f26d392]::query_impl::has_ffi_unwind_calls::invoke_provider_fn::__rust_begin_short_backtrace
  37:     0x7f822f4e87d3 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  38:     0x7f822f4e838e - rustc_query_impl[5a309cdb9f26d392]::query_impl::has_ffi_unwind_calls::execute_query_non_incr::__rust_end_short_backtrace
  39:     0x7f822f4c1212 - rustc_mir_transform[b9926d443c571f20]::mir_promoted
  40:     0x7f822f4c1092 - rustc_query_impl[5a309cdb9f26d392]::query_impl::mir_promoted::invoke_provider_fn::__rust_begin_short_backtrace
  41:     0x7f822ed7e541 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 16usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  42:     0x7f822f01c343 - rustc_query_impl[5a309cdb9f26d392]::query_impl::mir_promoted::execute_query_non_incr::__rust_end_short_backtrace
  43:     0x7f822f01c527 - rustc_borrowck[4bfdb94eea9b8329]::mir_borrowck
  44:     0x7f822f01c425 - rustc_query_impl[5a309cdb9f26d392]::query_impl::mir_borrowck::invoke_provider_fn::__rust_begin_short_backtrace
  45:     0x7f822f018469 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  46:     0x7f822f015b53 - rustc_query_impl[5a309cdb9f26d392]::query_impl::mir_borrowck::execute_query_non_incr::__rust_end_short_backtrace
  47:     0x7f822fb5591d - rustc_hir_analysis[e34517a71420646b]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
  48:     0x7f822fb5562a - rustc_hir_analysis[e34517a71420646b]::collect::type_of::type_of_opaque
  49:     0x7f822ea47f4d - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_middle[96c442875f2cb62c]::query::caches::DefIdCache<rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 8usize]>>, false>
  50:     0x7f822fb4075a - rustc_query_impl[5a309cdb9f26d392]::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
  51:     0x7f822ee26e5f - rustc_hir_analysis[e34517a71420646b]::collect::type_of::type_of
  52:     0x7f822eb34ebc - rustc_query_impl[5a309cdb9f26d392]::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
  53:     0x7f822ea47f4d - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_middle[96c442875f2cb62c]::query::caches::DefIdCache<rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 8usize]>>, false>
  54:     0x7f822ea47ad0 - rustc_query_impl[5a309cdb9f26d392]::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
  55:     0x7f822fb571cf - rustc_hir_analysis[e34517a71420646b]::check::check::check_opaque
  56:     0x7f822f5079fa - rustc_hir_analysis[e34517a71420646b]::check::check::check_item_type
  57:     0x7f822f4e921c - rustc_hir_analysis[e34517a71420646b]::check::wfcheck::check_well_formed
  58:     0x7f822f4e91ed - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
  59:     0x7f822f4e87d3 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_data_structures[6044b2f767527520]::vec_cache::VecCache<rustc_span[157f53c51de8f998]::def_id::LocalDefId, rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[96c442875f2cb62c]::dep_graph::graph::DepNodeIndex>, false>
  60:     0x7f822f4e8553 - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
  61:     0x7f822f4e50cf - rustc_hir_analysis[e34517a71420646b]::check::wfcheck::check_type_wf
  62:     0x7f822f4e4f4f - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
  63:     0x7f822fb48e92 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_middle[96c442875f2cb62c]::query::caches::SingleCache<rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 1usize]>>, false>
  64:     0x7f822fb48c77 - rustc_query_impl[5a309cdb9f26d392]::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
  65:     0x7f822f019c9a - rustc_hir_analysis[e34517a71420646b]::check_crate
  66:     0x7f822f014bf5 - rustc_interface[bb04609e4c960450]::passes::analysis
  67:     0x7f822fb474c7 - rustc_query_impl[5a309cdb9f26d392]::execution::try_execute_query::<rustc_middle[96c442875f2cb62c]::query::caches::SingleCache<rustc_middle[96c442875f2cb62c]::query::erase::ErasedData<[u8; 0usize]>>, false>
  68:     0x7f822fb47129 - rustc_query_impl[5a309cdb9f26d392]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
  69:     0x7f822fb0464d - rustc_interface[bb04609e4c960450]::interface::run_compiler::<(), rustc_driver_impl[c2a64f8504684822]::run_compiler::{closure#0}>::{closure#2}
  70:     0x7f822fb72ae4 - std[2a8c3cd46992084f]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[bb04609e4c960450]::util::run_in_thread_with_globals<rustc_interface[bb04609e4c960450]::util::run_in_thread_pool_with_globals<rustc_interface[bb04609e4c960450]::interface::run_compiler<(), rustc_driver_impl[c2a64f8504684822]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  71:     0x7f822fb728bb - <std[2a8c3cd46992084f]::thread::lifecycle::spawn_unchecked<rustc_interface[bb04609e4c960450]::util::run_in_thread_with_globals<rustc_interface[bb04609e4c960450]::util::run_in_thread_pool_with_globals<rustc_interface[bb04609e4c960450]::interface::run_compiler<(), rustc_driver_impl[c2a64f8504684822]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[f0447a45d83adb47]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  72:     0x7f822fb7cec8 - <std[2a8c3cd46992084f]::sys::thread::unix::Thread>::new::thread_start
  73:     0x7f8229497739 - <unknown>
  74:     0x7f822951bedc - <unknown>
  75:                0x0 - <unknown>

error: the compiler unexpectedly panicked. This is a bug

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

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

note: please attach the file at `/home/matthias/vcs/github/CRED/rustc-ice-2026-07-19T10_34_14-1332597.txt` to your bug report

note: rustc 1.99.0-nightly (eff8269f7 2026-07-18) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [typeck_root] type-checking `fail_late_bound`
#1 [check_match] match-checking `fail_late_bound`
#2 [mir_built] building MIR for `fail_late_bound`
#3 [has_ffi_unwind_calls] checking if `fail_late_bound` contains FFI-unwind calls
#4 [mir_promoted] promoting constants in MIR for `fail_late_bound`
#5 [mir_borrowck] borrow-checking `fail_late_bound`
#6 [type_of_opaque] computing type of opaque `fail_late_bound::{opaque#0}`
#7 [type_of] computing type of `fail_late_bound::{opaque#0}`
#8 [check_well_formed] checking that `fail_late_bound::{opaque#0}` is well-formed
#9 [check_type_wf] checking that types are well-formed
#10 [analysis] running analysis passes on crate `code`
end of query stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: TyKind::Error constructed but no error reported
  |
  = note: delayed at /rustc-dev/eff8269f797067c30555e77f160ec84c0ed15cd9/compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs:5538:65
             0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
             1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
             2: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
             3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
             4: <rustc_middle::ty::Ty>::new_misc_error
             5: <rustc_trait_selection::error_reporting::TypeErrCtxt>::point_at_chain_in_return_position::<rustc_span::ErrorGuaranteed>
             6: <rustc_trait_selection::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span::ErrorGuaranteed, rustc_type_ir::binder::Binder<rustc_middle::ty::context::TyCtxt, rustc_type_ir::predicate::TraitPredicate<rustc_middle::ty::context::TyCtxt>>>
             7: <rustc_trait_selection::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span::ErrorGuaranteed, rustc_middle::ty::predicate::Predicate>
             8: <rustc_trait_selection::error_reporting::TypeErrCtxt>::note_obligation_cause
             9: <rustc_trait_selection::error_reporting::TypeErrCtxt>::report_selection_error
            10: <rustc_trait_selection::error_reporting::TypeErrCtxt>::report_fulfillment_error
            11: <rustc_trait_selection::error_reporting::TypeErrCtxt>::report_fulfillment_errors
            12: rustc_hir_typeck::check::check_fn
            13: rustc_hir_typeck::typeck_with_inspect::{closure#0}
            14: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
            15: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            16: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
            17: rustc_mir_build::thir::pattern::check_match::check_match
            18: rustc_query_impl::query_impl::check_match::invoke_provider_fn::__rust_begin_short_backtrace
            19: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            20: rustc_query_impl::query_impl::check_match::execute_query_non_incr::__rust_end_short_backtrace
            21: rustc_mir_build::builder::build_mir_inner_impl
            22: rustc_mir_transform::mir_built
            23: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            24: rustc_query_impl::query_impl::mir_built::execute_query_non_incr::__rust_end_short_backtrace
            25: rustc_mir_transform::ffi_unwind_calls::has_ffi_unwind_calls
            26: rustc_query_impl::query_impl::has_ffi_unwind_calls::invoke_provider_fn::__rust_begin_short_backtrace
            27: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            28: rustc_query_impl::query_impl::has_ffi_unwind_calls::execute_query_non_incr::__rust_end_short_backtrace
            29: rustc_mir_transform::mir_promoted
            30: rustc_query_impl::query_impl::mir_promoted::invoke_provider_fn::__rust_begin_short_backtrace
            31: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 16]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            32: rustc_query_impl::query_impl::mir_promoted::execute_query_non_incr::__rust_end_short_backtrace
            33: rustc_borrowck::mir_borrowck
            34: rustc_query_impl::query_impl::mir_borrowck::invoke_provider_fn::__rust_begin_short_backtrace
            35: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            36: rustc_query_impl::query_impl::mir_borrowck::execute_query_non_incr::__rust_end_short_backtrace
            37: rustc_hir_analysis::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
            38: rustc_hir_analysis::collect::type_of::type_of_opaque
            39: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            40: rustc_query_impl::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
            41: rustc_hir_analysis::collect::type_of::type_of
            42: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
            43: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            44: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
            45: rustc_hir_analysis::check::check::check_opaque
            46: rustc_hir_analysis::check::check::check_item_type
            47: rustc_hir_analysis::check::wfcheck::check_well_formed
            48: rustc_query_impl::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
            49: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            50: rustc_query_impl::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
            51: rustc_hir_analysis::check::wfcheck::check_type_wf
            52: rustc_query_impl::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
            53: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, false>
            54: rustc_query_impl::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
            55: rustc_hir_analysis::check_crate
            56: rustc_interface::passes::analysis
            57: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, false>
            58: rustc_query_impl::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
            59: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}
            60: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
            61: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            62: <std::sys::thread::unix::Thread>::new::thread_start
            63: <unknown>
            64: <unknown>


error: internal compiler error: OpaqueTypeStorage { opaque_types: {OpaqueTypeKey { def_id: DefId(0:9 ~ code[b566]::fail_late_bound::{opaque#0}), args: [ReLateParam(DefId(0:7 ~ code[b566]::fail_late_bound), LateNamed(DefId(0:8 ~ code[b566]::fail_late_bound::'a)))] }: ProvisionalHiddenType { span: code.rs:8:6: 8:80 (#4), ty: ?0t }, OpaqueTypeKey { def_id: DefId(0:10 ~ code[b566]::fail_late_bound::{opaque#0}::{opaque#0}), args: [ReLateParam(DefId(0:7 ~ code[b566]::fail_late_bound), LateNamed(DefId(0:8 ~ code[b566]::fail_late_bound::'a)))] }: ProvisionalHiddenType { span: code.rs:8:31: 8:79 (#5), ty: ?5t }, OpaqueTypeKey { def_id: DefId(0:11 ~ code[b566]::fail_late_bound::{opaque#0}::{opaque#0}::{opaque#0}), args: [ReLateParam(DefId(0:7 ~ code[b566]::fail_late_bound), LateNamed(DefId(0:8 ~ code[b566]::fail_late_bound::'a)))] }: ProvisionalHiddenType { span: code.rs:8:66: 8:78 (#6), ty: ?10t }, OpaqueTypeKey { def_id: DefId(0:10 ~ code[b566]::fail_late_bound::{opaque#0}::{opaque#0}), args: ['^1_0.Named(DefId(0:8 ~ code[b566]::fail_late_bound::'a))] }: ProvisionalHiddenType { span: no-location (#0), ty: &'?0 u8 }}, duplicate_entries: [] }
  |
  = note: delayed at /rustc-dev/eff8269f797067c30555e77f160ec84c0ed15cd9/compiler/rustc_infer/src/infer/mod.rs:369:43
             0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
             1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
             2: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
             3: <rustc_errors::DiagCtxtHandle>::delayed_bug::<alloc::string::String>
             4: core::ptr::drop_glue::<rustc_hir_typeck::typeck_root_ctxt::TypeckRootCtxt>
             5: rustc_hir_typeck::typeck_with_inspect::{closure#0}
             6: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
             7: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
             8: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
             9: rustc_mir_build::thir::pattern::check_match::check_match
            10: rustc_query_impl::query_impl::check_match::invoke_provider_fn::__rust_begin_short_backtrace
            11: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            12: rustc_query_impl::query_impl::check_match::execute_query_non_incr::__rust_end_short_backtrace
            13: rustc_mir_build::builder::build_mir_inner_impl
            14: rustc_mir_transform::mir_built
            15: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            16: rustc_query_impl::query_impl::mir_built::execute_query_non_incr::__rust_end_short_backtrace
            17: rustc_mir_transform::ffi_unwind_calls::has_ffi_unwind_calls
            18: rustc_query_impl::query_impl::has_ffi_unwind_calls::invoke_provider_fn::__rust_begin_short_backtrace
            19: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            20: rustc_query_impl::query_impl::has_ffi_unwind_calls::execute_query_non_incr::__rust_end_short_backtrace
            21: rustc_mir_transform::mir_promoted
            22: rustc_query_impl::query_impl::mir_promoted::invoke_provider_fn::__rust_begin_short_backtrace
            23: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 16]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            24: rustc_query_impl::query_impl::mir_promoted::execute_query_non_incr::__rust_end_short_backtrace
            25: rustc_borrowck::mir_borrowck
            26: rustc_query_impl::query_impl::mir_borrowck::invoke_provider_fn::__rust_begin_short_backtrace
            27: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            28: rustc_query_impl::query_impl::mir_borrowck::execute_query_non_incr::__rust_end_short_backtrace
            29: rustc_hir_analysis::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
            30: rustc_hir_analysis::collect::type_of::type_of_opaque
            31: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            32: rustc_query_impl::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
            33: rustc_hir_analysis::collect::type_of::type_of
            34: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
            35: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            36: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
            37: rustc_hir_analysis::check::check::check_opaque
            38: rustc_hir_analysis::check::check::check_item_type
            39: rustc_hir_analysis::check::wfcheck::check_well_formed
            40: rustc_query_impl::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
            41: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 1]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
            42: rustc_query_impl::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
            43: rustc_hir_analysis::check::wfcheck::check_type_wf
            44: rustc_query_impl::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
            45: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, false>
            46: rustc_query_impl::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
            47: rustc_hir_analysis::check_crate
            48: rustc_interface::passes::analysis
            49: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, false>
            50: rustc_query_impl::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
            51: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}
            52: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
            53: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            54: <std::sys::thread::unix::Thread>::new::thread_start
            55: <unknown>
            56: <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 `/home/matthias/vcs/github/CRED/rustc-ice-2026-07-19T10_34_14-1332597.txt` to your bug report

note: rustc 1.99.0-nightly (eff8269f7 2026-07-18) running on x86_64-unknown-linux-gnu

query stack during panic:
end of query stack

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.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Fields

    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