[ICE]: assertion failed: `Binder == Binder`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
auto-reduced (treereduce-rust):
//@compile-flags: -Znext-solver=globally
#![feature(inherent_associated_types)]
struct Foo<T>(T);
impl<'a> Foo<fn(&'a ())> {
type Assoc = &'a ();
}
fn bar(_: fn(Foo<for<'b> fn(Foo<fn(&'b ())>::Assoc)>::Assoc)) {
x.bind().bind()
}
original:
//@ compile-flags: -Znext-solver
// Regression test for https://github.com/rust-lang/rust-clippy/issues/17439
#![feature(inherent_associated_types)]
struct Foo<T>(T);
impl<'a> Foo<fn(&'a ())> {
type Assoc = &'a ();
}
fn bar(_: fn(Foo<for<'b> fn(Foo<fn(&'b ())>::Assoc)>::Assoc)) {
x.bind(|n| Some(*n + 1) ).bind(|n| Some(n.to_string()) )
}
//~^ ERROR: higher-ranked subtype error
//~| ERROR: higher-ranked subtype error
//~| ERROR: lifetime bound not satisfied [E0478]
//~| ERROR: lifetime bound not satisfied [E0478]
fn main() {}
Version information
rustc 1.99.0-nightly (ea0604237 2026-08-10)
binary: rustc
commit-hash: ea060423749bf6e561c3398f403425c502beb9ba
commit-date: 2026-08-10
host: x86_64-unknown-linux-gnu
release: 1.99.0-nightly
LLVM version: 23.1.0
Possibly related line of code:
https://github.com/rust-lang/rust/blob/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_traits/src/normalize_erasing_regions.rs#L37-L49
Command:
/home/matthias/.rustup/toolchains/alt-master/bin/rustc -Znext-solver=globally
Program output
error[E0425]: cannot find value `x` in this scope
--> /tmp/icemaker_global_tempdir.MISIcbrZh9Nh/rustc_testrunner_tmpdir_reporting.XaYC78SLqPiP/mvce.rs:10:5
|
10 | x.bind().bind()
| ^ not found in this scope
warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
--> /tmp/icemaker_global_tempdir.MISIcbrZh9Nh/rustc_testrunner_tmpdir_reporting.XaYC78SLqPiP/mvce.rs:1:12
|
1 | #![feature(inherent_associated_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0601]: `main` function not found in crate `mvce`
--> /tmp/icemaker_global_tempdir.MISIcbrZh9Nh/rustc_testrunner_tmpdir_reporting.XaYC78SLqPiP/mvce.rs:11:2
|
11 | }
| ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.MISIcbrZh9Nh/rustc_testrunner_tmpdir_reporting.XaYC78SLqPiP/mvce.rs`
error[E0478]: lifetime bound not satisfied
--> /tmp/icemaker_global_tempdir.MISIcbrZh9Nh/rustc_testrunner_tmpdir_reporting.XaYC78SLqPiP/mvce.rs:9:11
|
9 | fn bar(_: fn(Foo<for<'b> fn(Foo<fn(&'b ())>::Assoc)>::Assoc)) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
thread 'rustc' (12439) panicked at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_traits/src/normalize_erasing_regions.rs:43:13:
assertion `left == right` failed
left: Binder { value: fn(?3t), bound_vars: [] }
right: Binder { value: fn(&'?0 ()), bound_vars: [] }
stack backtrace:
0: 0x7fcc223a3d40 - std[22b14f5b85705317]::backtrace_rs::backtrace::libunwind::trace
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x7fcc223a3d40 - std[22b14f5b85705317]::backtrace_rs::backtrace::trace_unsynchronized::<std[22b14f5b85705317]::sys::backtrace::_print_fmt::{closure#1}>
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x7fcc223a3d40 - std[22b14f5b85705317]::sys::backtrace::_print_fmt
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/backtrace.rs:74:9
3: 0x7fcc223a3d40 - <<std[22b14f5b85705317]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5dddf9bbfffd8c7c]::fmt::Display>::fmt
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/backtrace.rs:44:26
4: 0x7fcc1dc41e4e - <core[5dddf9bbfffd8c7c]::fmt::rt::Argument>::fmt
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/fmt/rt.rs:152:76
5: 0x7fcc1dc41e4e - core[5dddf9bbfffd8c7c]::fmt::write
6: 0x7fcc223bae1c - core[5dddf9bbfffd8c7c]::io::write::default_write_fmt::<std[22b14f5b85705317]::sys::stdio::unix::Stderr>
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/io/write.rs:402:11
7: 0x7fcc223bae1c - <std[22b14f5b85705317]::sys::stdio::unix::Stderr as core[5dddf9bbfffd8c7c]::io::write::Write>::write_fmt
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/io/write.rs:335:13
8: 0x7fcc22362914 - <std[22b14f5b85705317]::sys::backtrace::BacktraceLock>::print
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/backtrace.rs:47:9
9: 0x7fcc22362914 - std[22b14f5b85705317]::panicking::default_hook::{closure#0}
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:292:27
10: 0x7fcc22390131 - std[22b14f5b85705317]::panicking::default_hook
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:319:9
11: 0x7fcc1ef810e8 - <alloc[efb63163545301f3]::boxed::Box<dyn for<'a, 'b> core[5dddf9bbfffd8c7c]::ops::function::Fn<(&'a std[22b14f5b85705317]::panic::PanicHookInfo<'b>,), Output = ()> + core[5dddf9bbfffd8c7c]::marker::Send + core[5dddf9bbfffd8c7c]::marker::Sync> as core[5dddf9bbfffd8c7c]::ops::function::Fn<(&std[22b14f5b85705317]::panic::PanicHookInfo,)>>::call
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/alloc/src/boxed.rs:2332:9
12: 0x7fcc1ef810e8 - rustc_driver_impl[1906421d18b7335d]::install_ice_hook::{closure#1}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_driver_impl/src/lib.rs:1483:17
13: 0x7fcc1ef810e8 - <alloc[efb63163545301f3]::boxed::Box<rustc_driver_impl[1906421d18b7335d]::install_ice_hook::{closure#1}> as core[5dddf9bbfffd8c7c]::ops::function::Fn<(&dyn for<'a, 'b> core[5dddf9bbfffd8c7c]::ops::function::Fn<(&'a std[22b14f5b85705317]::panic::PanicHookInfo<'b>,), Output = ()> + core[5dddf9bbfffd8c7c]::marker::Send + core[5dddf9bbfffd8c7c]::marker::Sync, &std[22b14f5b85705317]::panic::PanicHookInfo)>>::call
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/alloc/src/boxed.rs:2332:9
14: 0x7fcc1ef810e8 - std[22b14f5b85705317]::panicking::update_hook::<alloc[efb63163545301f3]::boxed::Box<rustc_driver_impl[1906421d18b7335d]::install_ice_hook::{closure#1}>>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:235:47
15: 0x7fcc223905ba - <alloc[efb63163545301f3]::boxed::Box<dyn for<'a, 'b> core[5dddf9bbfffd8c7c]::ops::function::Fn<(&'a std[22b14f5b85705317]::panic::PanicHookInfo<'b>,), Output = ()> + core[5dddf9bbfffd8c7c]::marker::Send + core[5dddf9bbfffd8c7c]::marker::Sync> as core[5dddf9bbfffd8c7c]::ops::function::Fn<(&std[22b14f5b85705317]::panic::PanicHookInfo,)>>::call
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/alloc/src/boxed.rs:2332:9
16: 0x7fcc223905ba - std[22b14f5b85705317]::panicking::panic_with_hook
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:823:13
17: 0x7fcc223629e2 - std[22b14f5b85705317]::panicking::panic_handler::{closure#0}
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:688:13
18: 0x7fcc22355499 - std[22b14f5b85705317]::sys::backtrace::__rust_end_short_backtrace::<std[22b14f5b85705317]::panicking::panic_handler::{closure#0}, !>
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/backtrace.rs:182:18
19: 0x7fcc223649fd - __rustc[2b5bbf6b1a54ce1c]::rust_begin_unwind
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:679:5
20: 0x7fcc1dc42bbc - core[5dddf9bbfffd8c7c]::panicking::panic_fmt
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/panicking.rs:80:14
21: 0x7fcc1dc42a23 - core[5dddf9bbfffd8c7c]::panicking::assert_failed_inner
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/panicking.rs:452:17
22: 0x7fcc1fce41b6 - core[5dddf9bbfffd8c7c]::panicking::assert_failed::<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg, rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/panicking.rs:407:5
23: 0x7fcc1fda1e05 - rustc_traits[df1abf622d28c43a]::normalize_erasing_regions::try_normalize_after_erasing_regions::<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_traits/src/normalize_erasing_regions.rs:43:13
24: 0x7fcc1fda1e05 - rustc_traits[df1abf622d28c43a]::normalize_erasing_regions::provide::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_traits/src/normalize_erasing_regions.rs:14:13
25: 0x7fcc1fda1e05 - <rustc_traits[df1abf622d28c43a]::normalize_erasing_regions::provide::{closure#0} as core[5dddf9bbfffd8c7c]::ops::function::FnOnce<(rustc_middle[6d8e6938889b0909]::ty::context::TyCtxt, rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>)>>::call_once
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/ops/function.rs:250:5
26: 0x7fcc21394c5a - rustc_query_impl[20bc083e4b3942df]::query_impl::try_normalize_generic_arg_after_erasing_regions::invoke_provider_fn::__rust_begin_short_backtrace
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/query_impl.rs:118:46
27: 0x7fcc21114575 - rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr::<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/execution.rs:422:59
28: 0x7fcc21114575 - rustc_middle[6d8e6938889b0909]::ty::context::tls::enter_context::<rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/context/tls.rs:56:9
29: 0x7fcc21114575 - <std[22b14f5b85705317]::thread::local::LocalKey<core[5dddf9bbfffd8c7c]::cell::Cell<*const ()>>>::try_with::<rustc_middle[6d8e6938889b0909]::ty::context::tls::enter_context<rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/thread/local.rs:464:12
30: 0x7fcc21114575 - <std[22b14f5b85705317]::thread::local::LocalKey<core[5dddf9bbfffd8c7c]::cell::Cell<*const ()>>>::with::<rustc_middle[6d8e6938889b0909]::ty::context::tls::enter_context<rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/thread/local.rs:428:20
31: 0x7fcc21114575 - rustc_middle[6d8e6938889b0909]::ty::context::tls::enter_context::<rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/context/tls.rs:53:9
32: 0x7fcc21114575 - rustc_query_impl[20bc083e4b3942df]::plumbing::start_query::<rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>, rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/plumbing.rs:74:9
33: 0x7fcc21114575 - rustc_middle[6d8e6938889b0909]::ty::context::tls::with_context::<rustc_query_impl[20bc083e4b3942df]::plumbing::start_query<rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>, rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/context/tls.rs:86:36
34: 0x7fcc21114575 - rustc_middle[6d8e6938889b0909]::ty::context::tls::with_context_opt::<rustc_middle[6d8e6938889b0909]::ty::context::tls::with_context<rustc_query_impl[20bc083e4b3942df]::plumbing::start_query<rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>, rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/context/tls.rs:75:18
35: 0x7fcc21114575 - rustc_middle[6d8e6938889b0909]::ty::context::tls::with_context::<rustc_query_impl[20bc083e4b3942df]::plumbing::start_query<rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>, rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}>::{closure#0}, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/context/tls.rs:86:5
36: 0x7fcc21114575 - rustc_query_impl[20bc083e4b3942df]::plumbing::start_query::<rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>, rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>::{closure#0}>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/plumbing.rs:61:5
37: 0x7fcc21114575 - rustc_query_impl[20bc083e4b3942df]::execution::execute_job_non_incr::<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/execution.rs:422:17
38: 0x7fcc21114575 - rustc_query_impl[20bc083e4b3942df]::execution::try_execute_query::<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>, false>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/execution.rs:330:17
39: 0x7fcc21394f80 - rustc_query_impl[20bc083e4b3942df]::execution::execute_query_non_incr_inner::<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/execution.rs:630:5
40: 0x7fcc21394f80 - rustc_query_impl[20bc083e4b3942df]::query_impl::try_normalize_generic_arg_after_erasing_regions::execute_query_non_incr::__rust_end_short_backtrace
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_query_impl/src/query_impl.rs:82:30
41: 0x7fcc202f8f8e - rustc_middle[6d8e6938889b0909]::query::inner::query_get_at::<rustc_middle[6d8e6938889b0909]::query::caches::DefaultCache<rustc_middle[6d8e6938889b0909]::ty::PseudoCanonicalInput<rustc_middle[6d8e6938889b0909]::ty::generic_args::GenericArg>, rustc_middle[6d8e6938889b0909]::query::erase::ErasedData<[u8; 8usize]>>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/query/inner.rs:45:17
42: 0x7fcc202f8f8e - <rustc_middle[6d8e6938889b0909]::query::plumbing::TyCtxtAt>::try_normalize_generic_arg_after_erasing_regions
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/query/plumbing.rs:564:46
43: 0x7fcc202f8f8e - <rustc_middle[6d8e6938889b0909]::ty::context::TyCtxt>::try_normalize_generic_arg_after_erasing_regions
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/query/plumbing.rs:552:39
44: 0x7fcc202f8f8e - <rustc_middle[6d8e6938889b0909]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder>::try_normalize_generic_arg_after_erasing_regions
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:241:18
45: 0x7fcc20735a34 - <rustc_middle[6d8e6938889b0909]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder as rustc_type_ir[c98f5180dae4c47]::fold::FallibleTypeFolder<rustc_middle[6d8e6938889b0909]::ty::context::TyCtxt>>::try_fold_ty
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:253:20
46: 0x7fcc20735a34 - <rustc_middle[6d8e6938889b0909]::ty::Ty as rustc_type_ir[c98f5180dae4c47]::fold::TypeFoldable<rustc_middle[6d8e6938889b0909]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[6d8e6938889b0909]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/structural_impls.rs:334:16
47: 0x7fcc20735a34 - <rustc_middle[6d8e6938889b0909]::ty::context::TyCtxt>::try_normalize_erasing_regions::<rustc_middle[6d8e6938889b0909]::ty::Ty>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:123:19
130: 0x7fcc1ef853d6 - std[22b14f5b85705317]::panicking::catch_unwind::do_call::<core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}::{closure#0}>, ()>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:576:43
131: 0x7fcc1ef853d6 - std[22b14f5b85705317]::panicking::catch_unwind::<(), core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}::{closure#0}>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:544:19
132: 0x7fcc1ef853d6 - std[22b14f5b85705317]::panic::catch_unwind::<core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}::{closure#0}>, ()>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panic.rs:359:14
133: 0x7fcc1ef853d6 - rustc_interface[d4df17323af95b7b]::interface::run_compiler::<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_interface/src/interface.rs:485:23
134: 0x7fcc1ef6e25b - rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals::<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_interface/src/util.rs:223:17
135: 0x7fcc1ef6e25b - rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_interface/src/util.rs:180:24
136: 0x7fcc1ef6e25b - <scoped_tls[730130f822e64e9b]::ScopedKey<rustc_span[bab0af93da9379dd]::SessionGlobals>>::set::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
at /rust/deps/scoped-tls-1.0.1/src/lib.rs:137:9
137: 0x7fcc1ef6e25b - rustc_span[bab0af93da9379dd]::create_session_globals_then::<(), rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_span/src/lib.rs:155:21
138: 0x7fcc1ef6e25b - rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/compiler/rustc_interface/src/util.rs:176:17
139: 0x7fcc1ef6e25b - std[22b14f5b85705317]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/backtrace.rs:166:18
140: 0x7fcc1ef89627 - std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/thread/lifecycle.rs:70:13
141: 0x7fcc1ef89627 - <core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}> as core[5dddf9bbfffd8c7c]::ops::function::FnOnce<()>>::call_once
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/panic/unwind_safe.rs:275:9
142: 0x7fcc1ef89627 - std[22b14f5b85705317]::panicking::catch_unwind::do_call::<core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:576:43
143: 0x7fcc1ef89627 - std[22b14f5b85705317]::panicking::catch_unwind::<(), core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panicking.rs:544:19
144: 0x7fcc1ef89627 - std[22b14f5b85705317]::panic::catch_unwind::<core[5dddf9bbfffd8c7c]::panic::unwind_safe::AssertUnwindSafe<std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/panic.rs:359:14
145: 0x7fcc1ef89627 - std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked::<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/thread/lifecycle.rs:68:26
146: 0x7fcc1ef89627 - <std[22b14f5b85705317]::thread::lifecycle::spawn_unchecked<rustc_interface[d4df17323af95b7b]::util::run_in_thread_with_globals<rustc_interface[d4df17323af95b7b]::util::run_in_thread_pool_with_globals<rustc_interface[d4df17323af95b7b]::interface::run_compiler<(), rustc_driver_impl[1906421d18b7335d]::run_compiler::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[5dddf9bbfffd8c7c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
at /rustc-dev/ea060423749bf6e561c3398f403425c502beb9ba/library/core/src/ops/function.rs:250:5
147: 0x7fcc2239f90f - <alloc[efb63163545301f3]::boxed::Box<dyn core[5dddf9bbfffd8c7c]::ops::function::FnOnce<(), Output = ()> + core[5dddf9bbfffd8c7c]::marker::Send> as core[5dddf9bbfffd8c7c]::ops::function::FnOnce<()>>::call_once
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/alloc/src/boxed.rs:2318:9
148: 0x7fcc2239f90f - <std[22b14f5b85705317]::sys::thread::unix::Thread>::new::thread_start
at /rustc/ea060423749bf6e561c3398f403425c502beb9ba/library/std/src/sys/thread/unix.rs:123:17
149: 0x7fcc1c297739 - <unknown>
150: 0x7fcc1c31bedc - <unknown>
151: 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: rustc 1.99.0-nightly (ea0604237 2026-08-10) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z next-solver=globally -Z dump-mir-dir=dir
query stack during panic:
#0 [try_normalize_generic_arg_after_erasing_regions] normalizing `fn(Foo<for<'a> fn(Foo<fn(&'a ())>::Assoc)>::Assoc)`
#1 [mir_drops_elaborated_and_const_checked] elaborating drops for `bar`
#2 [analysis] running analysis passes on crate `mvce`
end of query stack
error: aborting due to 3 previous errors; 1 warning emitted
Some errors have detailed explanations: E0425, E0478, E0601.
For more information about an error, try `rustc --explain E0425`.
@rustbot label +F-inherent_associated_types +WG-trait-system-refactor
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the ICE with the reduced a.rs example and -Znext-solver=globally. Start at compiler/rustc_traits/src/normalize_erasing_regions.rs:37-49 and trace the failing normalization assertion. Done means the example no longer panics and the existing higher-ranked lifetime diagnostics remain correct.
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
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100