Skip to content

[ICE]: cannot relate bound region #159685

Description

@matthiaskrgr

Code

struct EntriesBuffer(Box< [u8] >);
impl EntriesBuffer {
  fn iter_child_buffers_explicit(&self) -> impl Iterator< Item = &mut str > {
    self.0.iter_mut()
  }
}

fn main() {}

Meta

rustc --version --verbose:

rustc 1.99.0-nightly (87e5904f5 2026-07-20)
binary: rustc
commit-hash: 87e5904f5eb6398af6b22eac2802c78934260c48
commit-date: 2026-07-20
host: x86_64-unknown-linux-gnu
release: 1.99.0-nightly
LLVM version: 22.1.8

Error output

<output>
Backtrace

error: internal compiler error: /rustc-dev/87e5904f5eb6398af6b22eac2802c78934260c48/compiler/rustc_infer/src/infer/region_constraints/mod.rs:492:21: cannot relate bound region: '^1_0.Named(DefId(0:10 ~ code[87c0]::{impl#0}::iter_child_buffers_explicit::'_)) == '?5


thread 'rustc' (671491) panicked at /rustc-dev/87e5904f5eb6398af6b22eac2802c78934260c48/compiler/rustc_infer/src/infer/region_constraints/mod.rs:492:21:
Box<dyn Any>
stack backtrace:
   0:     0x7f2f59af82c6 - <<std[6efd5c09ffcfac08]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[ea245c8d2ee73497]::fmt::Display>::fmt
   1:     0x7f2f5a20a2d0 - core[ea245c8d2ee73497]::fmt::write
   2:     0x7f2f59b0d52c - <std[6efd5c09ffcfac08]::sys::stdio::unix::Stderr as core[ea245c8d2ee73497]::io::write::Write>::write_fmt
   3:     0x7f2f59ac9f8a - std[6efd5c09ffcfac08]::panicking::default_hook::{closure#0}
   4:     0x7f2f59aeaa23 - std[6efd5c09ffcfac08]::panicking::default_hook
   5:     0x7f2f58a8d67b - std[6efd5c09ffcfac08]::panicking::update_hook::<alloc[a1e390ae03eee5f8]::boxed::Box<rustc_driver_impl[59d4b006446e1bc6]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7f2f59aeaec2 - std[6efd5c09ffcfac08]::panicking::panic_with_hook
   7:     0x7f2f58abb171 - std[6efd5c09ffcfac08]::panicking::begin_panic::<rustc_errors[c0ac912468147ca8]::ExplicitBug>::{closure#0}
   8:     0x7f2f58ab3eb6 - std[6efd5c09ffcfac08]::sys::backtrace::__rust_end_short_backtrace::<std[6efd5c09ffcfac08]::panicking::begin_panic<rustc_errors[c0ac912468147ca8]::ExplicitBug>::{closure#0}, !>
   9:     0x7f2f58ab1ef7 - std[6efd5c09ffcfac08]::panicking::begin_panic::<rustc_errors[c0ac912468147ca8]::ExplicitBug>
  10:     0x7f2f58ac6ea1 - <rustc_errors[c0ac912468147ca8]::diagnostic::BugAbort as rustc_errors[c0ac912468147ca8]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:     0x7f2f5902a26c - <rustc_errors[c0ac912468147ca8]::DiagCtxtHandle>::span_bug::<rustc_span[e37ebf9381237dab]::span_encoding::Span, alloc[a1e390ae03eee5f8]::string::String>
  12:     0x7f2f590596b6 - rustc_middle[29b03d310a3cce60]::util::bug::opt_span_bug_fmt::<rustc_span[e37ebf9381237dab]::span_encoding::Span>::{closure#0}
  13:     0x7f2f59059842 - rustc_middle[29b03d310a3cce60]::ty::context::tls::with_opt::<rustc_middle[29b03d310a3cce60]::util::bug::opt_span_bug_fmt<rustc_span[e37ebf9381237dab]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x7f2f59044b6b - rustc_middle[29b03d310a3cce60]::ty::context::tls::with_context_opt::<rustc_middle[29b03d310a3cce60]::ty::context::tls::with_opt<rustc_middle[29b03d310a3cce60]::util::bug::opt_span_bug_fmt<rustc_span[e37ebf9381237dab]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x7f2f56c72408 - rustc_middle[29b03d310a3cce60]::util::bug::span_bug_fmt::<rustc_span[e37ebf9381237dab]::span_encoding::Span>
  16:     0x7f2f5a2aee35 - <rustc_infer[2eb1aa5a4cde060a]::infer::relate::type_relating::TypeRelating as rustc_type_ir[677e23d5fe493d05]::relate::TypeRelation<rustc_middle[29b03d310a3cce60]::ty::context::TyCtxt>>::tys
  17:     0x7f2f5a7c45a8 - <rustc_trait_selection[88d947e23979c5c4]::traits::engine::ObligationCtxt>::eq::<rustc_middle[29b03d310a3cce60]::ty::Ty>
  18:     0x7f2f597e347f - <rustc_infer[2eb1aa5a4cde060a]::infer::InferCtxt>::probe::<bool, <rustc_infer[2eb1aa5a4cde060a]::infer::InferCtxt as rustc_trait_selection[88d947e23979c5c4]::infer::InferCtxtExt>::can_eq<rustc_middle[29b03d310a3cce60]::ty::Ty>::{closure#0}>
  19:     0x7f2f598204e8 - <rustc_trait_selection[88d947e23979c5c4]::error_reporting::TypeErrCtxt>::point_at_chain_in_return_position::<rustc_span[e37ebf9381237dab]::ErrorGuaranteed>
  20:     0x7f2f598175b2 - <rustc_trait_selection[88d947e23979c5c4]::error_reporting::TypeErrCtxt>::note_obligation_cause_code::<rustc_span[e37ebf9381237dab]::ErrorGuaranteed, rustc_middle[29b03d310a3cce60]::ty::predicate::Predicate>
  21:     0x7f2f59919c2e - <rustc_trait_selection[88d947e23979c5c4]::error_reporting::TypeErrCtxt>::note_obligation_cause
  22:     0x7f2f59930e89 - <rustc_trait_selection[88d947e23979c5c4]::error_reporting::TypeErrCtxt>::report_fulfillment_error
  23:     0x7f2f5839ee9c - <rustc_trait_selection[88d947e23979c5c4]::error_reporting::TypeErrCtxt>::report_fulfillment_errors
  24:     0x7f2f5a5b24fd - rustc_hir_typeck[6af44d3853e2427c]::check::check_fn
  25:     0x7f2f5b414a65 - rustc_hir_typeck[6af44d3853e2427c]::typeck_with_inspect::{closure#0}
  26:     0x7f2f5b4131f0 - rustc_query_impl[1529885af8ad1ce5]::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
  27:     0x7f2f5a6cc0e9 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  28:     0x7f2f5a6cbb43 - rustc_query_impl[1529885af8ad1ce5]::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
  29:     0x7f2f5a6d4e9a - rustc_mir_build[5c2158b970ee23dc]::thir::pattern::check_match::check_match
  30:     0x7f2f5a6d4007 - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_match::invoke_provider_fn::__rust_begin_short_backtrace
  31:     0x7f2f5b0def71 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  32:     0x7f2f5b0dec76 - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_match::execute_query_non_incr::__rust_end_short_backtrace
  33:     0x7f2f5ac783d8 - rustc_mir_build[5c2158b970ee23dc]::builder::build_mir_inner_impl
  34:     0x7f2f5a20ab2a - rustc_mir_transform[83e8aeecd8869a5e]::mir_built
  35:     0x7f2f5a6cc0e9 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  36:     0x7f2f5a6cbd83 - rustc_query_impl[1529885af8ad1ce5]::query_impl::mir_built::execute_query_non_incr::__rust_end_short_backtrace
  37:     0x7f2f5a22e89e - rustc_mir_transform[83e8aeecd8869a5e]::ffi_unwind_calls::has_ffi_unwind_calls
  38:     0x7f2f5a22e2d9 - rustc_query_impl[1529885af8ad1ce5]::query_impl::has_ffi_unwind_calls::invoke_provider_fn::__rust_begin_short_backtrace
  39:     0x7f2f5b0def71 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  40:     0x7f2f5b0deb42 - rustc_query_impl[1529885af8ad1ce5]::query_impl::has_ffi_unwind_calls::execute_query_non_incr::__rust_end_short_backtrace
  41:     0x7f2f5abde6f4 - rustc_mir_transform[83e8aeecd8869a5e]::mir_promoted
  42:     0x7f2f5abde560 - rustc_query_impl[1529885af8ad1ce5]::query_impl::mir_promoted::invoke_provider_fn::__rust_begin_short_backtrace
  43:     0x7f2f5a734201 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 16usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  44:     0x7f2f5b0b419d - rustc_query_impl[1529885af8ad1ce5]::query_impl::mir_promoted::execute_query_non_incr::__rust_end_short_backtrace
  45:     0x7f2f5b0b43ec - rustc_borrowck[f06ad7e3d5e958ae]::mir_borrowck
  46:     0x7f2f5b0b426b - rustc_query_impl[1529885af8ad1ce5]::query_impl::mir_borrowck::invoke_provider_fn::__rust_begin_short_backtrace
  47:     0x7f2f5a6cc0e9 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  48:     0x7f2f5a6c9749 - rustc_query_impl[1529885af8ad1ce5]::query_impl::mir_borrowck::execute_query_non_incr::__rust_end_short_backtrace
  49:     0x7f2f5b16fadd - rustc_hir_analysis[ca44aecb6e5f879b]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
  50:     0x7f2f5b16f7ea - rustc_hir_analysis[ca44aecb6e5f879b]::collect::type_of::type_of_opaque
  51:     0x7f2f5a2182cd - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_middle[29b03d310a3cce60]::query::caches::DefIdCache<rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 8usize]>>, false>
  52:     0x7f2f5b35fe9a - rustc_query_impl[1529885af8ad1ce5]::query_impl::type_of_opaque::execute_query_non_incr::__rust_end_short_backtrace
  53:     0x7f2f5ab6404d - rustc_hir_analysis[ca44aecb6e5f879b]::collect::type_of::type_of
  54:     0x7f2f5a2fb1ba - rustc_query_impl[1529885af8ad1ce5]::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
  55:     0x7f2f5a2182cd - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_middle[29b03d310a3cce60]::query::caches::DefIdCache<rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 8usize]>>, false>
  56:     0x7f2f5a217e50 - rustc_query_impl[1529885af8ad1ce5]::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
  57:     0x7f2f5b16ffd3 - rustc_hir_analysis[ca44aecb6e5f879b]::check::check::check_opaque
  58:     0x7f2f5b0fe981 - rustc_hir_analysis[ca44aecb6e5f879b]::check::check::check_item_type
  59:     0x7f2f5b0df9aa - rustc_hir_analysis[ca44aecb6e5f879b]::check::wfcheck::check_well_formed
  60:     0x7f2f5b0df98b - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_well_formed::invoke_provider_fn::__rust_begin_short_backtrace
  61:     0x7f2f5b0def71 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_data_structures[4108383575fd76c4]::vec_cache::VecCache<rustc_span[e37ebf9381237dab]::def_id::LocalDefId, rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[29b03d310a3cce60]::dep_graph::graph::DepNodeIndex>, false>
  62:     0x7f2f5b0ded07 - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_well_formed::execute_query_non_incr::__rust_end_short_backtrace
  63:     0x7f2f5b0db74f - rustc_hir_analysis[ca44aecb6e5f879b]::check::wfcheck::check_type_wf
  64:     0x7f2f5b0db5cf - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
  65:     0x7f2f5b352f52 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_middle[29b03d310a3cce60]::query::caches::SingleCache<rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 1usize]>>, false>
  66:     0x7f2f5b352d37 - rustc_query_impl[1529885af8ad1ce5]::query_impl::check_type_wf::execute_query_non_incr::__rust_end_short_backtrace
  67:     0x7f2f5a6ce5da - rustc_hir_analysis[ca44aecb6e5f879b]::check_crate
  68:     0x7f2f5a6c874b - rustc_interface[8d1f9f90545f286d]::passes::analysis
  69:     0x7f2f5b353d47 - rustc_query_impl[1529885af8ad1ce5]::execution::try_execute_query::<rustc_middle[29b03d310a3cce60]::query::caches::SingleCache<rustc_middle[29b03d310a3cce60]::query::erase::ErasedData<[u8; 0usize]>>, false>
  70:     0x7f2f5b353a29 - rustc_query_impl[1529885af8ad1ce5]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
  71:     0x7f2f5b3a2e0d - rustc_interface[8d1f9f90545f286d]::interface::run_compiler::<(), rustc_driver_impl[59d4b006446e1bc6]::run_compiler::{closure#0}>::{closure#2}
  72:     0x7f2f5b37c024 - std[6efd5c09ffcfac08]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[8d1f9f90545f286d]::util::run_in_thread_with_globals<rustc_interface[8d1f9f90545f286d]::util::run_in_thread_pool_with_globals<rustc_interface[8d1f9f90545f286d]::interface::run_compiler<(), rustc_driver_impl[59d4b006446e1bc6]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  73:     0x7f2f5b37bdfb - <std[6efd5c09ffcfac08]::thread::lifecycle::spawn_unchecked<rustc_interface[8d1f9f90545f286d]::util::run_in_thread_with_globals<rustc_interface[8d1f9f90545f286d]::util::run_in_thread_pool_with_globals<rustc_interface[8d1f9f90545f286d]::interface::run_compiler<(), rustc_driver_impl[59d4b006446e1bc6]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[ea245c8d2ee73497]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  74:     0x7f2f5b38643a - <std[6efd5c09ffcfac08]::sys::thread::unix::Thread>::new::thread_start
  75:     0x7f2f54a97739 - <unknown>
  76:     0x7f2f54b1bedc - <unknown>
  77:                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 `/home/matthias/vcs/github/CRED/rustc-ice-2026-07-21T19_51_11-671481.txt` to your bug report

note: rustc 1.99.0-nightly (87e5904f5 2026-07-20) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [typeck_root] type-checking `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit`
#1 [check_match] match-checking `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit`
#2 [mir_built] building MIR for `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit`
#3 [has_ffi_unwind_calls] checking if `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit` contains FFI-unwind calls
#4 [mir_promoted] promoting constants in MIR for `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit`
#5 [mir_borrowck] borrow-checking `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit`
#6 [type_of_opaque] computing type of opaque `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit::{opaque#0}`
#7 [type_of] computing type of `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit::{opaque#0}`
#8 [check_well_formed] checking that `<impl at code.rs:2:1: 2:19>::iter_child_buffers_explicit::{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
error: aborting due to 1 previous error

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions