Skip to content

[ICE]: found DefPathHash collision between DefPath #153410

@matthiaskrgr

Description

@matthiaskrgr

Code

This first ICEs and then hangs while printing the query stack

impl Iterator {
  reuse< < <for<'a> fn()>::Output>::Item as Iterator>::*;
}

Meta

rustc --version --verbose:

rustc 1.96.0-nightly (d9563937f 2026-03-03)
binary: rustc
commit-hash: d9563937fa3b030c5845811113505070109414d2
commit-date: 2026-03-03
host: x86_64-unknown-linux-gnu
release: 1.96.0-nightly
LLVM version: 22.1.0

Error output

<output>
Backtrace

error[E0575]: expected method or associated constant, found associated type `Iterator::Item`
 --> a.rs:2:8
  |
2 |   reuse< < <for<'a> fn()>::Output>::Item as Iterator>::*;
  |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a method or associated constant

error[E0658]: functions delegation is not yet fully implemented
 --> a.rs:2:3
  |
2 |   reuse< < <for<'a> fn()>::Output>::Item as Iterator>::*;
  |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #118212 <https://github.com/rust-lang/rust/issues/118212> for more information
  = help: add `#![feature(fn_delegation)]` to the crate attributes to enable
  = note: this compiler was built on 2026-03-03; consider upgrading it if it is out of date


thread 'rustc' (4021229) panicked at /rustc-dev/d9563937fa3b030c5845811113505070109414d2/compiler/rustc_hir/src/definitions.rs:70:13:
found DefPathHash collision between DefPath {
    data: [
        DisambiguatedDefPathData {
            data: Impl,
            disambiguator: 0,
        },
        DisambiguatedDefPathData {
            data: ValueNs(
                "partition_in_place",
            ),
            disambiguator: 0,
        },
        DisambiguatedDefPathData {
            data: LifetimeNs(
                "'a",
            ),
            disambiguator: 0,
        },
    ],
    krate: crate0,
} and DefPath {
    data: [
        DisambiguatedDefPathData {
            data: Impl,
            disambiguator: 0,
        },
        DisambiguatedDefPathData {
            data: ValueNs(
                "partition_in_place",
            ),
            disambiguator: 0,
        },
        DisambiguatedDefPathData {
            data: LifetimeNs(
                "'a",
            ),
            disambiguator: 0,
        },
    ],
    krate: crate0,
}. Compilation cannot continue.
stack backtrace:
   0:     0x7f14dad6495b - <<std[f1c45ce4ee161762]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[bca3ab08014da8dd]::fmt::Display>::fmt
   1:     0x7f14db4228c8 - core[bca3ab08014da8dd]::fmt::write
   2:     0x7f14dad7b966 - <std[f1c45ce4ee161762]::sys::stdio::unix::Stderr as std[f1c45ce4ee161762]::io::Write>::write_fmt
   3:     0x7f14dad3aa38 - std[f1c45ce4ee161762]::panicking::default_hook::{closure#0}
   4:     0x7f14dad57dc3 - std[f1c45ce4ee161762]::panicking::default_hook
   5:     0x7f14d9d43eec - std[f1c45ce4ee161762]::panicking::update_hook::<alloc[69236e05dd7e86e4]::boxed::Box<rustc_driver_impl[87c87f3e97b6922c]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7f14dad580a2 - std[f1c45ce4ee161762]::panicking::panic_with_hook
   7:     0x7f14dad3aaf8 - std[f1c45ce4ee161762]::panicking::panic_handler::{closure#0}
   8:     0x7f14dad31829 - std[f1c45ce4ee161762]::sys::backtrace::__rust_end_short_backtrace::<std[f1c45ce4ee161762]::panicking::panic_handler::{closure#0}, !>
   9:     0x7f14dad3c55d - __rustc[e7c1d660df8da2b8]::rust_begin_unwind
  10:     0x7f14d7917ddc - core[bca3ab08014da8dd]::panicking::panic_fmt
  11:     0x7f14dbccb465 - <rustc_middle[5922741a8fb3ae5b]::ty::context::TyCtxt>::create_def
  12:     0x7f14d986b64c - <<rustc_ast_lowering[2f0d4b4a36627f7a]::delegation::generics::HirOrAstGenerics>::into_hir_generics::{closure#0} as core[bca3ab08014da8dd]::ops::function::FnOnce<(&mut rustc_ast[5f0b67c0ef4a6e26]::ast::Generics,)>>::call_once
  13:     0x7f14d98527ed - <rustc_ast_lowering[2f0d4b4a36627f7a]::delegation::generics::HirOrAstGenerics>::into_hir_generics
  14:     0x7f14d9849f44 - <rustc_ast_lowering[2f0d4b4a36627f7a]::LoweringContext>::process_segment
  15:     0x7f14d984caf0 - <rustc_ast_lowering[2f0d4b4a36627f7a]::LoweringContext>::lower_delegation
  16:     0x7f14dbba50c1 - <rustc_ast_lowering[2f0d4b4a36627f7a]::item::ItemLowerer>::lower_node
  17:     0x7f14dbb9bd67 - rustc_ast_lowering[2f0d4b4a36627f7a]::lower_to_hir
  18:     0x7f14dc5d5368 - rustc_query_impl[7668830077db65c5]::query_impl::hir_crate::invoke_provider_fn::__rust_begin_short_backtrace
  19:     0x7f14dc5d4244 - rustc_query_impl[7668830077db65c5]::execution::try_execute_query::<rustc_middle[5922741a8fb3ae5b]::query::caches::SingleCache<rustc_middle[5922741a8fb3ae5b]::query::erase::ErasedData<[u8; 8usize]>>, false>
  20:     0x7f14dc5d3ccf - rustc_query_impl[7668830077db65c5]::query_impl::hir_crate::execute_query_non_incr::__rust_end_short_backtrace
  21:     0x7f14db56defd - rustc_query_impl[7668830077db65c5]::query_impl::opt_hir_owner_nodes::invoke_provider_fn::__rust_begin_short_backtrace
  22:     0x7f14db56d0ca - rustc_query_impl[7668830077db65c5]::execution::try_execute_query::<rustc_data_structures[d0703324dfa1e5f8]::vec_cache::VecCache<rustc_span[cd7b03fc0c8acb50]::def_id::LocalDefId, rustc_middle[5922741a8fb3ae5b]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[5922741a8fb3ae5b]::dep_graph::graph::DepNodeIndex>, false>
  23:     0x7f14db56cd45 - rustc_query_impl[7668830077db65c5]::query_impl::opt_hir_owner_nodes::execute_query_non_incr::__rust_end_short_backtrace
  24:     0x7f14dbcfaee6 - <rustc_middle[5922741a8fb3ae5b]::ty::context::TyCtxt>::hir_owner_node
  25:     0x7f14dc5da911 - rustc_middle[5922741a8fb3ae5b]::hir::map::hir_crate_items
  26:     0x7f14dc5d5f31 - rustc_query_impl[7668830077db65c5]::query_impl::hir_crate_items::invoke_provider_fn::__rust_begin_short_backtrace
  27:     0x7f14dc5d4244 - rustc_query_impl[7668830077db65c5]::execution::try_execute_query::<rustc_middle[5922741a8fb3ae5b]::query::caches::SingleCache<rustc_middle[5922741a8fb3ae5b]::query::erase::ErasedData<[u8; 8usize]>>, false>
  28:     0x7f14dc5d3a4f - rustc_query_impl[7668830077db65c5]::query_impl::hir_crate_items::execute_query_non_incr::__rust_end_short_backtrace
  29:     0x7f14db569a18 - rustc_interface[a32636ddb3a490e3]::passes::analysis
  30:     0x7f14dc5d2fdc - rustc_query_impl[7668830077db65c5]::execution::try_execute_query::<rustc_middle[5922741a8fb3ae5b]::query::caches::SingleCache<rustc_middle[5922741a8fb3ae5b]::query::erase::ErasedData<[u8; 0usize]>>, false>
  31:     0x7f14dc5d2d3b - rustc_query_impl[7668830077db65c5]::query_impl::analysis::execute_query_non_incr::__rust_end_short_backtrace
  32:     0x7f14dc602aed - rustc_interface[a32636ddb3a490e3]::interface::run_compiler::<(), rustc_driver_impl[87c87f3e97b6922c]::run_compiler::{closure#0}>::{closure#1}
  33:     0x7f14dc5e71be - std[f1c45ce4ee161762]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[a32636ddb3a490e3]::util::run_in_thread_with_globals<rustc_interface[a32636ddb3a490e3]::util::run_in_thread_pool_with_globals<rustc_interface[a32636ddb3a490e3]::interface::run_compiler<(), rustc_driver_impl[87c87f3e97b6922c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  34:     0x7f14dc5e7820 - <std[f1c45ce4ee161762]::thread::lifecycle::spawn_unchecked<rustc_interface[a32636ddb3a490e3]::util::run_in_thread_with_globals<rustc_interface[a32636ddb3a490e3]::util::run_in_thread_pool_with_globals<rustc_interface[a32636ddb3a490e3]::interface::run_compiler<(), rustc_driver_impl[87c87f3e97b6922c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[bca3ab08014da8dd]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  35:     0x7f14dc5e86ac - <std[f1c45ce4ee161762]::sys::thread::unix::Thread>::new::thread_start
  36:     0x7f14d60a598b - <unknown>
  37:     0x7f14d6129a0c - <unknown>
  38:                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 `/tmp/im/rustc-ice-2026-03-04T15_38_58-4021211.txt` to your bug report

note: rustc 1.96.0-nightly (d9563937f 2026-03-03) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [hir_crate] getting the crate HIR

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.F-fn_delegation`#![feature(fn_delegation)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️I-hangIssue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions