Closed
Description
Code
use std::ops::Deref;
trait Foo {
fn foo() -> impl Deref<Target = impl Deref<Target = impl Sized>> {
&&()
}
fn foo(b: bool) -> impl Sized {
1u32
}
}
fn main() {}
Meta
rustc --version --verbose
:
rustc 1.90.0-nightly (0d11be5aa 2025-07-07)
binary: rustc
commit-hash: 0d11be5aabe0cd49609fff5fce57c4691a22fe55
commit-date: 2025-07-07
host: x86_64-unknown-linux-gnu
release: 1.90.0-nightly
LLVM version: 20.1.7
Error output
error[E0428]: the name `foo` is defined multiple times
--> code.rs:8:5
|
4 | fn foo() -> impl Deref<Target = impl Deref<Target = impl Sized>> {
| ---------------------------------------------------------------- previous definition of the value `foo` here
...
8 | fn foo(b: bool) -> impl Sized {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `foo` redefined here
|
= note: `foo` must be defined only once in the value namespace of this trait
Backtrace
thread 'rustc' panicked at compiler/rustc_hir/src/definitions.rs:70:13:
found DefPathHash collision between DefPath {
data: [
DisambiguatedDefPathData {
data: TypeNs(
"Foo",
),
disambiguator: 0,
},
DisambiguatedDefPathData {
data: AnonAssocTy(
"foo",
),
disambiguator: 1,
},
],
krate: crate0,
} and DefPath {
data: [
DisambiguatedDefPathData {
data: TypeNs(
"Foo",
),
disambiguator: 0,
},
DisambiguatedDefPathData {
data: AnonAssocTy(
"foo",
),
disambiguator: 1,
},
],
krate: crate0,
}. Compilation cannot continue.
stack backtrace:
0: 0x7dff18923443 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h7bfcb7613b9cdc60
1: 0x7dff19002cbf - core::fmt::write::h849289ea9df84c39
2: 0x7dff18918f73 - std::io::Write::write_fmt::h7048addce3d329ca
3: 0x7dff189232a2 - std::sys::backtrace::BacktraceLock::print::heee9ea88df23f99f
4: 0x7dff18926d3a - std::panicking::default_hook::{{closure}}::h5817ac89d8c3c860
5: 0x7dff189268bf - std::panicking::default_hook::h478bb19f8b93e087
6: 0x7dff179f49a3 - std[f1319f17f192eb47]::panicking::update_hook::<alloc[6887e28ded682fd6]::boxed::Box<rustc_driver_impl[cfd5894941938d66]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x7dff1892758b - std::panicking::rust_panic_with_hook::h023a4592fa63e09d
8: 0x7dff1892728a - std::panicking::begin_panic_handler::{{closure}}::h1826ac2988478758
9: 0x7dff18923919 - std::sys::backtrace::__rust_end_short_backtrace::hd4c80ba903614d40
10: 0x7dff18926f6d - __rustc[bcd53fdebb959812]::rust_begin_unwind
11: 0x7dff150a8c60 - core::panicking::panic_fmt::hdd2fb6db07669575
12: 0x7dff1a04addf - <rustc_middle[3dc6df19e0953673]::ty::context::TyCtxt>::create_def
13: 0x7dff1a0470e8 - <rustc_middle[3dc6df19e0953673]::query::plumbing::TyCtxtAt>::create_def
14: 0x7dff188a70f3 - rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_type_for_impl_trait_in_trait
15: 0x7dff188a6e73 - <rustc_ty_utils[ecf4720a762f83bf]::assoc::RPITVisitor as rustc_hir[8aaf12680f74e1d5]::intravisit::Visitor>::visit_opaque_ty
16: 0x7dff1980e208 - rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_types_for_impl_traits_in_associated_fn
17: 0x7dff1980dbec - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_types_for_impl_traits_in_associated_fn::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 16usize]>>
18: 0x7dff1980dbb9 - <rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_types_for_impl_traits_in_associated_fn::dynamic_query::{closure#2} as core[24b5f5d7780a77b9]::ops::function::FnOnce<(rustc_middle[3dc6df19e0953673]::ty::context::TyCtxt, rustc_span[c6ecfb449c6d41e2]::def_id::DefId)>>::call_once
19: 0x7dff19178c7b - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_query_system[b9fd241381b1ea3b]::query::caches::DefIdCache<rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
20: 0x7dff191784a8 - rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_types_for_impl_traits_in_associated_fn::get_query_non_incr::__rust_end_short_backtrace
21: 0x7dff1a0e9386 - <core[24b5f5d7780a77b9]::iter::adapters::GenericShunt<core[24b5f5d7780a77b9]::iter::adapters::map::Map<core[24b5f5d7780a77b9]::iter::adapters::chain::Chain<core[24b5f5d7780a77b9]::iter::adapters::map::Map<core[24b5f5d7780a77b9]::slice::iter::Iter<rustc_hir[8aaf12680f74e1d5]::hir::TraitItemRef>, rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#0}>, core[24b5f5d7780a77b9]::iter::adapters::copied::Copied<core[24b5f5d7780a77b9]::iter::adapters::flatten::FlatMap<core[24b5f5d7780a77b9]::iter::adapters::filter::Filter<core[24b5f5d7780a77b9]::slice::iter::Iter<rustc_hir[8aaf12680f74e1d5]::hir::TraitItemRef>, rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#1}>, &[rustc_span[c6ecfb449c6d41e2]::def_id::DefId], rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#2}>>>, core[24b5f5d7780a77b9]::result::Result<rustc_span[c6ecfb449c6d41e2]::def_id::DefId, !>::Ok>, core[24b5f5d7780a77b9]::result::Result<core[24b5f5d7780a77b9]::convert::Infallible, !>> as core[24b5f5d7780a77b9]::iter::traits::iterator::Iterator>::next
22: 0x7dff1a0e905a - rustc_arena[81d7bce11047b8]::outline::<<rustc_arena[81d7bce11047b8]::DroplessArena>::alloc_from_iter<rustc_span[c6ecfb449c6d41e2]::def_id::DefId, core[24b5f5d7780a77b9]::iter::adapters::chain::Chain<core[24b5f5d7780a77b9]::iter::adapters::map::Map<core[24b5f5d7780a77b9]::slice::iter::Iter<rustc_hir[8aaf12680f74e1d5]::hir::TraitItemRef>, rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#0}>, core[24b5f5d7780a77b9]::iter::adapters::copied::Copied<core[24b5f5d7780a77b9]::iter::adapters::flatten::FlatMap<core[24b5f5d7780a77b9]::iter::adapters::filter::Filter<core[24b5f5d7780a77b9]::slice::iter::Iter<rustc_hir[8aaf12680f74e1d5]::hir::TraitItemRef>, rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#1}>, &[rustc_span[c6ecfb449c6d41e2]::def_id::DefId], rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_item_def_ids::{closure#2}>>>>::{closure#0}, &mut [rustc_span[c6ecfb449c6d41e2]::def_id::DefId]>
23: 0x7dff19178337 - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_item_def_ids::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 16usize]>>
24: 0x7dff191780d3 - <rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_item_def_ids::dynamic_query::{closure#2} as core[24b5f5d7780a77b9]::ops::function::FnOnce<(rustc_middle[3dc6df19e0953673]::ty::context::TyCtxt, rustc_span[c6ecfb449c6d41e2]::def_id::DefId)>>::call_once
25: 0x7dff19178c7b - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_query_system[b9fd241381b1ea3b]::query::caches::DefIdCache<rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
26: 0x7dff1917871e - rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_item_def_ids::get_query_non_incr::__rust_end_short_backtrace
27: 0x7dff191abeb9 - rustc_ty_utils[ecf4720a762f83bf]::assoc::associated_items
28: 0x7dff191abc0e - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_items::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 8usize]>>
29: 0x7dff190377e5 - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_query_system[b9fd241381b1ea3b]::query::caches::DefIdCache<rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
30: 0x7dff19036c1b - rustc_query_impl[c1fe29fd7e408458]::query_impl::associated_items::get_query_non_incr::__rust_end_short_backtrace
31: 0x7dff197b66b1 - rustc_hir_analysis[9a31ed9c251d7d71]::check::check::check_item_type
32: 0x7dff197abbb7 - rustc_hir_analysis[9a31ed9c251d7d71]::check::wfcheck::check_well_formed
33: 0x7dff197abb99 - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 1usize]>>
34: 0x7dff197ab3cd - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_data_structures[be5f72ec6ddb341]::vec_cache::VecCache<rustc_span[c6ecfb449c6d41e2]::def_id::LocalDefId, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[b9fd241381b1ea3b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
35: 0x7dff197aaf02 - rustc_query_impl[c1fe29fd7e408458]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
36: 0x7dff197a8664 - rustc_hir_analysis[9a31ed9c251d7d71]::check::wfcheck::check_type_wf
37: 0x7dff197a8563 - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 1usize]>>
38: 0x7dff1a06b5bc - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_query_system[b9fd241381b1ea3b]::query::caches::SingleCache<rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
39: 0x7dff1a06b3b6 - rustc_query_impl[c1fe29fd7e408458]::query_impl::check_type_wf::get_query_non_incr::__rust_end_short_backtrace
40: 0x7dff19701c5e - rustc_hir_analysis[9a31ed9c251d7d71]::check_crate
41: 0x7dff191ba1f1 - rustc_interface[14e750971f73f2dc]::passes::analysis
42: 0x7dff191b9e0b - rustc_query_impl[c1fe29fd7e408458]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c1fe29fd7e408458]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 0usize]>>
43: 0x7dff1a06cd3c - rustc_query_system[b9fd241381b1ea3b]::query::plumbing::try_execute_query::<rustc_query_impl[c1fe29fd7e408458]::DynamicConfig<rustc_query_system[b9fd241381b1ea3b]::query::caches::SingleCache<rustc_middle[3dc6df19e0953673]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[c1fe29fd7e408458]::plumbing::QueryCtxt, false>
44: 0x7dff1a06c906 - rustc_query_impl[c1fe29fd7e408458]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
45: 0x7dff1a2f8296 - rustc_interface[14e750971f73f2dc]::passes::create_and_enter_global_ctxt::<core[24b5f5d7780a77b9]::option::Option<rustc_interface[14e750971f73f2dc]::queries::Linker>, rustc_driver_impl[cfd5894941938d66]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
46: 0x7dff1a227143 - rustc_interface[14e750971f73f2dc]::interface::run_compiler::<(), rustc_driver_impl[cfd5894941938d66]::run_compiler::{closure#0}>::{closure#1}
47: 0x7dff1a1f6bf8 - std[f1319f17f192eb47]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[14e750971f73f2dc]::util::run_in_thread_with_globals<rustc_interface[14e750971f73f2dc]::util::run_in_thread_pool_with_globals<rustc_interface[14e750971f73f2dc]::interface::run_compiler<(), rustc_driver_impl[cfd5894941938d66]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
48: 0x7dff1a1f68d6 - <<std[f1319f17f192eb47]::thread::Builder>::spawn_unchecked_<rustc_interface[14e750971f73f2dc]::util::run_in_thread_with_globals<rustc_interface[14e750971f73f2dc]::util::run_in_thread_pool_with_globals<rustc_interface[14e750971f73f2dc]::interface::run_compiler<(), rustc_driver_impl[cfd5894941938d66]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[24b5f5d7780a77b9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
49: 0x7dff1a1f4efd - std::sys::pal::unix::thread::Thread::new::thread_start::h757f4333dd30076e
50: 0x7dff13ca57eb - <unknown>
51: 0x7dff13d2918c - <unknown>
52: 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-2025-07-07T05_17_55-3550375.txt` to your bug report
query stack during panic:
<HANG>