rust-lang / rust-lang/rust

[ICE]: `failed to report fulfillment errors`

Open
#156,289 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug F-inherent_associated_types F-min_generic_const_args I-ICE T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

auto-reduced (treereduce-rust):

#![feature(min_generic_const_args)]
#![feature(inherent_associated_types)]
pub struct EntriesBuffer(Box<[u8]>);

impl EntriesBuffer {
    pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
        self.0.iter_mut()
    }
}

pub struct HashesEntry<'a>(&'a [u8]);

fn main() {}

original:

//@ check-pass
// Verify that we do not ICE when anonymous lifetimes appear inside an AnonConst.

pub struct EntriesBuffer(Box<[u8]>);

impl EntriesBuffer {
    pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
        self.0.iter_mut()
    }

    pub fn iter_child_buffers_explicit(
        &mut self,
    ) -> impl Iterator<Item = &mut [u8; HashesEntry::<'_>::LEN]> {
        self.0.iter_mut()
    }
}

pub struct HashesEntry<'a>(&'a [u8]);

impl HashesEntry<'_> {
    pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
        self.0.iter_mut()
    }

    pub fn iter_child_buffers_explicit(
        &mut self,
    ) -> impl Iterator<Item = &mut [u8; HashesEntry::<'_>::LEN]> {
        self.0.iter_mut()
    }
}

fn main() {}

Version information

rustc 1.97.0-nightly (ffccab6ab 2026-05-07)
binary: rustc
commit-hash: ffccab6abef68b70c5e23cfbfb1ac7680104040d
commit-date: 2026-05-07
host: x86_64-unknown-linux-gnu
release: 1.97.0-nightly
LLVM version: 22.1.4

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zcrate-attr=feature(min_generic_const_args) -Zcrate-attr=feature(inherent_associated_types)

Program output

warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
 --> <crate attribute>:1:12
  |
1 | #![feature(min_generic_const_args)]
  |            ^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
  = note: `#[warn(incomplete_features)]` on by default

warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
 --> <crate attribute>:1:12
  |
1 | #![feature(inherent_associated_types)]
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information

warning: 2 warnings emitted

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: unelided lifetime in signature
 --> /tmp/icemaker_global_tempdir.C3Qc52KguCBK/rustc_testrunner_tmpdir_reporting.wupHDe7XMKAT/mvce.rs:4:76
  |
4 |     pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
  |                                                                            ^^^^^^^^^^^
  |
note: delayed at /rustc-dev/ffccab6abef68b70c5e23cfbfb1ac7680104040d/compiler/rustc_hir_analysis/src/collect.rs:339:13
         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_hir_analysis::collect::ItemCtxt as rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::re_infer
         5: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_lifetime
         6: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_generic_args_of_path::{closure#0}
         7: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
         8: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_const_arg
         9: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
        10: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
        11: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_poly_trait_ref
        12: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_bounds::<&[rustc_hir::hir::GenericBound]>
        13: rustc_hir_analysis::collect::item_bounds::opaque_type_bounds
        14: rustc_hir_analysis::collect::item_bounds::explicit_item_bounds_with_filter
        15: rustc_hir_analysis::collect::item_bounds::explicit_item_self_bounds
        16: rustc_query_impl::query_impl::explicit_item_self_bounds::invoke_provider_fn::__rust_begin_short_backtrace
        17: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 16]>>, false>
        18: rustc_query_impl::query_impl::explicit_item_self_bounds::execute_query_non_incr::__rust_end_short_backtrace
        19: rustc_hir_analysis::collect::item_bounds::item_self_bounds
        20: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
        21: rustc_query_impl::query_impl::item_self_bounds::execute_query_non_incr::__rust_end_short_backtrace
        22: <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache
        23: <rustc_trait_selection::traits::select::SelectionContext>::poly_select::{closure#0}
        24: <rustc_trait_selection::traits::fulfill::FulfillProcessor as rustc_data_structures::obligation_forest::ObligationProcessor>::process_obligation
        25: <rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor>
        26: rustc_hir_analysis::check::wfcheck::check_associated_item
        27: rustc_hir_analysis::check::check::check_item_type
        28: rustc_hir_analysis::check::wfcheck::check_well_formed
        29: rustc_query_impl::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
        30: 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>
        31: rustc_query_impl::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
        32: rustc_hir_analysis::check::wfcheck::check_type_wf
        33: rustc_query_impl::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
        34: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, false>
        35: rustc_query_impl::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
        36: rustc_hir_analysis::check_crate
        37: rustc_interface::passes::analysis
        38: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, false>
        39: rustc_query_impl::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
        40: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
        41: 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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        42: <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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        43: <std::sys::thread::unix::Thread>::new::thread_start
        44: <unknown>
        45: <unknown>
      
 --> /tmp/icemaker_global_tempdir.C3Qc52KguCBK/rustc_testrunner_tmpdir_reporting.wupHDe7XMKAT/mvce.rs:4:76
  |
4 |     pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
  |                                                                            ^^^^^^^^^^^

error: internal compiler error: unelided lifetime in signature
 --> /tmp/icemaker_global_tempdir.C3Qc52KguCBK/rustc_testrunner_tmpdir_reporting.wupHDe7XMKAT/mvce.rs:4:76
  |
4 |     pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
  |                                                                            ^^^^^^^^^^^
  |
note: delayed at /rustc-dev/ffccab6abef68b70c5e23cfbfb1ac7680104040d/compiler/rustc_hir_analysis/src/collect.rs:339:13
         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_hir_analysis::collect::ItemCtxt as rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::re_infer
         5: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_lifetime
         6: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_generic_args_of_path::{closure#0}
         7: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
         8: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_const_arg
         9: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
        10: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_ty
        11: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_poly_trait_ref
        12: <dyn rustc_hir_analysis::hir_ty_lowering::HirTyLowerer>::lower_bounds::<&[rustc_hir::hir::GenericBound]>
        13: rustc_hir_analysis::collect::item_bounds::opaque_type_bounds
        14: rustc_hir_analysis::collect::item_bounds::explicit_item_bounds_with_filter
        15: rustc_hir_analysis::collect::item_bounds::explicit_item_bounds
        16: rustc_query_impl::query_impl::explicit_item_bounds::invoke_provider_fn::__rust_begin_short_backtrace
        17: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 16]>>, false>
        18: rustc_query_impl::query_impl::explicit_item_bounds::execute_query_non_incr::__rust_end_short_backtrace
        19: <rustc_ty_utils::opaque_types::OpaqueTypeCollector>::visit_opaque_ty
        20: <rustc_ty_utils::opaque_types::OpaqueTypeCollector as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty::{closure#0}
        21: rustc_ty_utils::sig_types::walk_types::<rustc_ty_utils::opaque_types::OpaqueTypeCollector>
        22: rustc_ty_utils::opaque_types::opaque_types_defined_by
        23: rustc_query_impl::query_impl::opaque_types_defined_by::invoke_provider_fn::__rust_begin_short_backtrace
        24: 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>
        25: rustc_query_impl::query_impl::opaque_types_defined_by::execute_query_non_incr::__rust_end_short_backtrace
        26: rustc_hir_analysis::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
        27: rustc_hir_analysis::collect::type_of::type_of_opaque
        28: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
        29: rustc_query_impl::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
        30: rustc_hir_analysis::collect::type_of::type_of
        31: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
        32: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
        33: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
        34: rustc_hir_analysis::check::check::check_opaque
        35: rustc_hir_analysis::check::check::check_item_type
        36: rustc_hir_analysis::check::wfcheck::check_well_formed
        37: rustc_query_impl::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
        38: 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>
        39: rustc_query_impl::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
        40: rustc_hir_analysis::check::wfcheck::check_type_wf
        41: rustc_query_impl::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
        42: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, false>
        43: rustc_query_impl::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
        44: rustc_hir_analysis::check_crate
        45: rustc_interface::passes::analysis
        46: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, false>
        47: rustc_query_impl::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
        48: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
        49: 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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        50: <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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        51: <std::sys::thread::unix::Thread>::new::thread_start
        52: <unknown>
        53: <unknown>
      
 --> /tmp/icemaker_global_tempdir.C3Qc52KguCBK/rustc_testrunner_tmpdir_reporting.wupHDe7XMKAT/mvce.rs:4:76
  |
4 |     pub fn iter_child_buffers(&mut self) -> impl Iterator<Item = &mut [u8; HashesEntry::LEN]> {
  |                                                                            ^^^^^^^^^^^

error: internal compiler error: failed to report fulfillment errors
  |
  = note: delayed at /rustc-dev/ffccab6abef68b70c5e23cfbfb1ac7680104040d/compiler/rustc_trait_selection/src/error_reporting/traits/mod.rs:287:47
             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::<&str>
             4: <rustc_trait_selection::error_reporting::TypeErrCtxt>::report_fulfillment_errors
             5: rustc_hir_typeck::check::check_fn
             6: rustc_hir_typeck::typeck_with_inspect::{closure#0}
             7: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
             8: 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>
             9: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
            10: rustc_mir_build::thir::pattern::check_match::check_match
            11: rustc_query_impl::query_impl::check_match::invoke_provider_fn::__rust_begin_short_backtrace
            12: 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>
            13: rustc_query_impl::query_impl::check_match::execute_query_non_incr::__rust_end_short_backtrace
            14: rustc_mir_build::builder::build_mir_inner_impl
            15: rustc_mir_transform::mir_built
            16: 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>
            17: rustc_query_impl::query_impl::mir_built::execute_query_non_incr::__rust_end_short_backtrace
            18: rustc_mir_transform::ffi_unwind_calls::has_ffi_unwind_calls
            19: rustc_query_impl::query_impl::has_ffi_unwind_calls::invoke_provider_fn::__rust_begin_short_backtrace
            20: 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>
            21: rustc_query_impl::query_impl::has_ffi_unwind_calls::execute_query_non_incr::__rust_end_short_backtrace
            22: rustc_mir_transform::mir_promoted
            23: rustc_query_impl::query_impl::mir_promoted::invoke_provider_fn::__rust_begin_short_backtrace
            24: 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>
            25: rustc_query_impl::query_impl::mir_promoted::execute_query_non_incr::__rust_end_short_backtrace
            26: rustc_borrowck::mir_borrowck
            27: rustc_query_impl::query_impl::mir_borrowck::invoke_provider_fn::__rust_begin_short_backtrace
            28: 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>
            29: rustc_query_impl::query_impl::mir_borrowck::execute_query_non_incr::__rust_end_short_backtrace
            30: rustc_hir_analysis::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
            31: rustc_hir_analysis::collect::type_of::type_of_opaque
            32: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            33: rustc_query_impl::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
            34: rustc_hir_analysis::collect::type_of::type_of
            35: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
            36: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
            37: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
            38: rustc_hir_analysis::check::check::check_opaque
            39: rustc_hir_analysis::check::check::check_item_type
            40: rustc_hir_analysis::check::wfcheck::check_well_formed
            41: rustc_query_impl::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
            42: 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>
            43: rustc_query_impl::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
            44: rustc_hir_analysis::check::wfcheck::check_type_wf
            45: rustc_query_impl::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
            46: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 1]>>, false>
            47: rustc_query_impl::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
            48: rustc_hir_analysis::check_crate
            49: rustc_interface::passes::analysis
            50: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, false>
            51: rustc_query_impl::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
            52: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
            53: 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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
            54: <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#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            55: <std::sys::thread::unix::Thread>::new::thread_start
            56: <unknown>
            57: <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: rustc 1.97.0-nightly (ffccab6ab 2026-05-07) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z crate-attr=feature(min_generic_const_args) -Z crate-attr=feature(inherent_associated_types) -Z dump-mir-dir=dir

query stack during panic:
end of query stack

@rustbot label +F-min_generic_const_args +F-inherent_associated_types

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

Reproduce the reduced program with the provided rustc command and inspect the delayed-bug path reported at compiler/rustc_hir_analysis/src/collect.rs:339. Follow the lifetime handling through collect.rs and the stack frames involving lower_const_arg and opaque_type_bounds; done means the check-pass example no longer reports an internal compiler error.

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
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.