[ICE]: `NOP unsize vtable changed principal trait ref`
Open
Nobody has claimed this yet.
-Zassumptions-on-binders
A-cranelift
C-bug
I-ICE
needs-triage
requires-debug-assertions
T-compiler
WG-trait-system-refactor
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Code
rustc code.rs -Znext-solver=globally -Zassumptions-on-binders -Zcodegen-backend=cranelift -Clink-dead-code
trait Trait<'a> {}
fn change_lt(x: *mut Trait) -> *mut Trait {
x
}
fn change_lt_hr(x: *mut Trait) -> *mut for<'b> Trait<'b> {
x
}
fn main() {}
Meta
rustc --version --verbose:
rustc 1.98.0-nightly (ea088e0a3 2026-07-05)
binary: rustc
commit-hash: ea088e0a3dd50c494b4589c3c121d7469dceec8f
commit-date: 2026-07-05
host: x86_64-unknown-linux-gnu
release: 1.98.0-nightly
LLVM version: 22.1.8
Error output
warning: trait objects without an explicit `dyn` are deprecated
--> code.rs:2:22
|
2 | fn change_lt(x: *mut Trait) -> *mut Trait {
| ^^^^^
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
= note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
help: if this is a dyn-compatible trait, use `dyn`
|
2 | fn change_lt(x: *mut dyn Trait) -> *mut Trait {
| +++
warning: trait objects without an explicit `dyn` are deprecated
--> code.rs:2:37
|
2 | fn change_lt(x: *mut Trait) -> *mut Trait {
| ^^^^^
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: if this is a dyn-compatible trait, use `dyn`
|
2 | fn change_lt(x: *mut Trait) -> *mut dyn Trait {
| +++
warning: trait objects without an explicit `dyn` are deprecated
--> code.rs:5:25
|
5 | fn change_lt_hr(x: *mut Trait) -> *mut for<'b> Trait<'b> {
| ^^^^^
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: if this is a dyn-compatible trait, use `dyn`
|
5 | fn change_lt_hr(x: *mut dyn Trait) -> *mut for<'b> Trait<'b> {
| +++
warning: trait objects without an explicit `dyn` are deprecated
--> code.rs:5:40
|
5 | fn change_lt_hr(x: *mut Trait) -> *mut for<'b> Trait<'b> {
| ^^^^^^^^^^^^^^^^^
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
= note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: if this is a dyn-compatible trait, use `dyn`
|
5 | fn change_lt_hr(x: *mut Trait) -> *mut dyn for<'b> Trait<'b> {
| +++
warning: trait `Trait` is never used
--> code.rs:1:7
|
1 | trait Trait<'a> {}
| ^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: function `change_lt` is never used
--> code.rs:2:4
|
2 | fn change_lt(x: *mut Trait) -> *mut Trait {
| ^^^^^^^^^
warning: function `change_lt_hr` is never used
--> code.rs:5:4
|
5 | fn change_lt_hr(x: *mut Trait) -> *mut for<'b> Trait<'b> {
| ^^^^^^^^^^^^
Backtrace
thread 'rustc' (2138412) panicked at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/unsize.rs:39:17:
NOP unsize vtable changed principal trait ref: Trait<'_> -> for<'a> Trait<'a>
stack backtrace:
0: 0x7f4664015200 - std[386a84ca6cb05ef6]::backtrace_rs::backtrace::libunwind::trace
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x7f4664015200 - std[386a84ca6cb05ef6]::backtrace_rs::backtrace::trace_unsynchronized::<std[386a84ca6cb05ef6]::sys::backtrace::_print_fmt::{closure#1}>
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x7f4664015200 - std[386a84ca6cb05ef6]::sys::backtrace::_print_fmt
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/backtrace.rs:74:9
3: 0x7f4664015200 - <<std[386a84ca6cb05ef6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[2905569e18bb29b8]::fmt::Display>::fmt
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/backtrace.rs:44:26
4: 0x7f465f890c6e - <core[2905569e18bb29b8]::fmt::rt::Argument>::fmt
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/fmt/rt.rs:152:76
5: 0x7f465f890c6e - core[2905569e18bb29b8]::fmt::write
6: 0x7f466402c8ec - std[386a84ca6cb05ef6]::io::default_write_fmt::<std[386a84ca6cb05ef6]::sys::stdio::unix::Stderr>
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/io/mod.rs:626:11
7: 0x7f466402c8ec - <std[386a84ca6cb05ef6]::sys::stdio::unix::Stderr as std[386a84ca6cb05ef6]::io::Write>::write_fmt
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/io/mod.rs:1730:13
8: 0x7f4663fd6084 - <std[386a84ca6cb05ef6]::sys::backtrace::BacktraceLock>::print
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/backtrace.rs:47:9
9: 0x7f4663fd6084 - std[386a84ca6cb05ef6]::panicking::default_hook::{closure#0}
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:292:27
10: 0x7f4664001801 - std[386a84ca6cb05ef6]::panicking::default_hook
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:319:9
11: 0x7f4660bb7ed8 - <alloc[a05d859dfdc0fb3a]::boxed::Box<dyn for<'a, 'b> core[2905569e18bb29b8]::ops::function::Fn<(&'a std[386a84ca6cb05ef6]::panic::PanicHookInfo<'b>,), Output = ()> + core[2905569e18bb29b8]::marker::Send + core[2905569e18bb29b8]::marker::Sync> as core[2905569e18bb29b8]::ops::function::Fn<(&std[386a84ca6cb05ef6]::panic::PanicHookInfo,)>>::call
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/alloc/src/boxed.rs:2333:9
12: 0x7f4660bb7ed8 - rustc_driver_impl[141f5d82d5532281]::install_ice_hook::{closure#1}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_driver_impl/src/lib.rs:1483:17
13: 0x7f4660bb7ed8 - <alloc[a05d859dfdc0fb3a]::boxed::Box<rustc_driver_impl[141f5d82d5532281]::install_ice_hook::{closure#1}> as core[2905569e18bb29b8]::ops::function::Fn<(&dyn for<'a, 'b> core[2905569e18bb29b8]::ops::function::Fn<(&'a std[386a84ca6cb05ef6]::panic::PanicHookInfo<'b>,), Output = ()> + core[2905569e18bb29b8]::marker::Send + core[2905569e18bb29b8]::marker::Sync, &std[386a84ca6cb05ef6]::panic::PanicHookInfo)>>::call
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/alloc/src/boxed.rs:2333:9
14: 0x7f4660bb7ed8 - std[386a84ca6cb05ef6]::panicking::update_hook::<alloc[a05d859dfdc0fb3a]::boxed::Box<rustc_driver_impl[141f5d82d5532281]::install_ice_hook::{closure#1}>>::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:235:47
15: 0x7f4664001c8a - <alloc[a05d859dfdc0fb3a]::boxed::Box<dyn for<'a, 'b> core[2905569e18bb29b8]::ops::function::Fn<(&'a std[386a84ca6cb05ef6]::panic::PanicHookInfo<'b>,), Output = ()> + core[2905569e18bb29b8]::marker::Send + core[2905569e18bb29b8]::marker::Sync> as core[2905569e18bb29b8]::ops::function::Fn<(&std[386a84ca6cb05ef6]::panic::PanicHookInfo,)>>::call
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/alloc/src/boxed.rs:2333:9
16: 0x7f4664001c8a - std[386a84ca6cb05ef6]::panicking::panic_with_hook
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:823:13
17: 0x7f4663fd6152 - std[386a84ca6cb05ef6]::panicking::panic_handler::{closure#0}
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:688:13
18: 0x7f4663fc1649 - std[386a84ca6cb05ef6]::sys::backtrace::__rust_end_short_backtrace::<std[386a84ca6cb05ef6]::panicking::panic_handler::{closure#0}, !>
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/backtrace.rs:182:18
19: 0x7f4663fd805d - __rustc[46920232926a116e]::rust_begin_unwind
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:679:5
20: 0x7f465f89199c - core[2905569e18bb29b8]::panicking::panic_fmt
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/panicking.rs:80:14
21: 0x7f465036cb79 - rustc_codegen_cranelift[5bd89cd87f29f40b]::unsize::unsized_info
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/unsize.rs:39:17
22: 0x7f465036cb79 - rustc_codegen_cranelift[5bd89cd87f29f40b]::unsize::unsize_ptr
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/unsize.rs:83:59
23: 0x7f465036d9f8 - rustc_codegen_cranelift[5bd89cd87f29f40b]::unsize::coerce_unsized_into::{closure#0}
24: 0x7f465036d9f8 - rustc_codegen_cranelift[5bd89cd87f29f40b]::unsize::coerce_unsized_into
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/unsize.rs:141:49
25: 0x7f4650361dc2 - rustc_codegen_cranelift[5bd89cd87f29f40b]::base::codegen_stmt
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/base.rs:813:21
26: 0x7f4650361dc2 - rustc_codegen_cranelift[5bd89cd87f29f40b]::base::codegen_fn_body
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/base.rs:323:13
27: 0x7f465035a1d0 - rustc_codegen_cranelift[5bd89cd87f29f40b]::base::codegen_fn::{closure#2}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/base.rs:120:57
28: 0x7f465035a1d0 - <rustc_data_structures[97f3e4bf34afb871]::profiling::TimingGuard>::run::<(), rustc_codegen_cranelift[5bd89cd87f29f40b]::base::codegen_fn::{closure#2}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_data_structures/src/profiling.rs:809:9
29: 0x7f465035a1d0 - rustc_codegen_cranelift[5bd89cd87f29f40b]::base::codegen_fn
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/base.rs:120:50
30: 0x7f4650384a75 - rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::codegen_cgu
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/driver/aot.rs:176:42
31: 0x7f465031f68e - <rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotDriver as rustc_codegen_ssa[ca1634386165ab6d]::traits::backend::ExtraBackendMethods>::compile_codegen_unit::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/driver/aot.rs:293:34
32: 0x7f465039656a - <rustc_middle[792ff25791e6eb6c]::dep_graph::graph::DepGraph>::with_task::<<rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotDriver as rustc_codegen_ssa[ca1634386165ab6d]::traits::backend::ExtraBackendMethods>::compile_codegen_unit::{closure#0}, rustc_codegen_ssa[ca1634386165ab6d]::ModuleCodegen<rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotModule>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/dep_graph/graph.rs:336:22
33: 0x7f465039656a - <rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotDriver as rustc_codegen_ssa[ca1634386165ab6d]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/driver/aot.rs:289:41
34: 0x7f46502f0573 - rustc_codegen_ssa[ca1634386165ab6d]::base::codegen_crate::<rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotDriver, rustc_codegen_cranelift[5bd89cd87f29f40b]::driver::aot::AotModule>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_ssa/src/base.rs:824:42
35: 0x7f46503a64a6 - <rustc_codegen_cranelift[5bd89cd87f29f40b]::CraneliftCodegenBackend as rustc_codegen_ssa[ca1634386165ab6d]::traits::backend::CodegenBackend>::codegen_crate
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_codegen_cranelift/src/lib.rs:228:22
36: 0x7f4661962668 - rustc_interface[ce4f83e7df082d47]::passes::start_codegen::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/passes.rs:1305:29
37: 0x7f4661962668 - <rustc_data_structures[97f3e4bf34afb871]::profiling::VerboseTimingGuard>::run::<alloc[a05d859dfdc0fb3a]::boxed::Box<dyn core[2905569e18bb29b8]::any::Any>, rustc_interface[ce4f83e7df082d47]::passes::start_codegen::{closure#0}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_data_structures/src/profiling.rs:845:9
38: 0x7f4661962668 - <rustc_session[e4e70658598d6b46]::session::Session>::time::<alloc[a05d859dfdc0fb3a]::boxed::Box<dyn core[2905569e18bb29b8]::any::Any>, rustc_interface[ce4f83e7df082d47]::passes::start_codegen::{closure#0}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_session/src/utils.rs:17:50
39: 0x7f4661962668 - rustc_interface[ce4f83e7df082d47]::passes::start_codegen
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/passes.rs:1297:28
40: 0x7f4661962668 - <rustc_interface[ce4f83e7df082d47]::queries::Linker>::codegen_and_build_linker
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/queries.rs:33:55
41: 0x7f4660ba1801 - rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_driver_impl/src/lib.rs:342:26
42: 0x7f4660ba1801 - rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt::<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/passes.rs:1035:80
43: 0x7f4660ba1801 - <core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}> as core[2905569e18bb29b8]::ops::function::FnOnce<()>>::call_once
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/panic/unwind_safe.rs:275:9
44: 0x7f4660ba1801 - std[386a84ca6cb05ef6]::panicking::catch_unwind::do_call::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:576:43
45: 0x7f4660ba1801 - std[386a84ca6cb05ef6]::panicking::catch_unwind::<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:544:19
46: 0x7f4660ba1801 - std[386a84ca6cb05ef6]::panic::catch_unwind::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panic.rs:359:14
47: 0x7f4660ba1801 - rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt::<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/passes.rs:1035:23
48: 0x7f4660ba1801 - <rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter::<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#1}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/ty/context.rs:802:37
49: 0x7f4660ba1801 - rustc_middle[792ff25791e6eb6c]::ty::context::tls::enter_context::<<rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#1}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/ty/context/tls.rs:56:9
50: 0x7f4660ba1801 - <std[386a84ca6cb05ef6]::thread::local::LocalKey<core[2905569e18bb29b8]::cell::Cell<*const ()>>>::try_with::<rustc_middle[792ff25791e6eb6c]::ty::context::tls::enter_context<<rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#1}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#0}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/thread/local.rs:463:12
51: 0x7f4660ba1801 - <std[386a84ca6cb05ef6]::thread::local::LocalKey<core[2905569e18bb29b8]::cell::Cell<*const ()>>>::with::<rustc_middle[792ff25791e6eb6c]::ty::context::tls::enter_context<<rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#1}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#0}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/thread/local.rs:427:20
52: 0x7f4660ba1801 - rustc_middle[792ff25791e6eb6c]::ty::context::tls::enter_context::<<rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>::{closure#1}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/ty/context/tls.rs:53:9
53: 0x7f4660ba1801 - <rustc_middle[792ff25791e6eb6c]::ty::context::GlobalCtxt>::enter::<rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}, core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/ty/context.rs:802:9
54: 0x7f4660ba1801 - <rustc_middle[792ff25791e6eb6c]::ty::context::TyCtxt>::create_global_ctxt::<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>::{closure#2}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_middle/src/ty/context.rs:996:13
55: 0x7f4660ba1801 - rustc_interface[ce4f83e7df082d47]::passes::create_and_enter_global_ctxt::<core[2905569e18bb29b8]::option::Option<rustc_interface[ce4f83e7df082d47]::queries::Linker>, rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}::{closure#2}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/passes.rs:995:5
56: 0x7f4660bbc4ef - rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_driver_impl/src/lib.rs:299:22
57: 0x7f4660bbc4ef - rustc_interface[ce4f83e7df082d47]::interface::run_compiler::<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/interface.rs:496:80
58: 0x7f4660bbc4ef - <core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}::{closure#0}> as core[2905569e18bb29b8]::ops::function::FnOnce<()>>::call_once
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/panic/unwind_safe.rs:275:9
59: 0x7f4660bbc4ef - std[386a84ca6cb05ef6]::panicking::catch_unwind::do_call::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:576:43
60: 0x7f4660bbc4ef - std[386a84ca6cb05ef6]::panicking::catch_unwind::<(), core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}::{closure#0}>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:544:19
61: 0x7f4660bbc4ef - std[386a84ca6cb05ef6]::panic::catch_unwind::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panic.rs:359:14
62: 0x7f4660bbc4ef - rustc_interface[ce4f83e7df082d47]::interface::run_compiler::<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/interface.rs:496:23
63: 0x7f4660ba58c5 - rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals::<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/util.rs:206:17
64: 0x7f4660ba58c5 - rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/util.rs:162:24
65: 0x7f4660ba58c5 - <scoped_tls[6b77d594d6d8aca6]::ScopedKey<rustc_span[5976bd4f62357b67]::SessionGlobals>>::set::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
at /rust/deps/scoped-tls-1.0.1/src/lib.rs:137:9
66: 0x7f4660ba58c5 - rustc_span[5976bd4f62357b67]::create_session_globals_then::<(), rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_span/src/lib.rs:155:21
67: 0x7f4660ba58c5 - rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/compiler/rustc_interface/src/util.rs:158:17
68: 0x7f4660ba58c5 - std[386a84ca6cb05ef6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/backtrace.rs:166:18
69: 0x7f4660bbffb9 - std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/thread/lifecycle.rs:70:13
70: 0x7f4660bbffb9 - <core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}> as core[2905569e18bb29b8]::ops::function::FnOnce<()>>::call_once
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/panic/unwind_safe.rs:275:9
71: 0x7f4660bbffb9 - std[386a84ca6cb05ef6]::panicking::catch_unwind::do_call::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:576:43
72: 0x7f4660bbffb9 - std[386a84ca6cb05ef6]::panicking::catch_unwind::<(), core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panicking.rs:544:19
73: 0x7f4660bbffb9 - std[386a84ca6cb05ef6]::panic::catch_unwind::<core[2905569e18bb29b8]::panic::unwind_safe::AssertUnwindSafe<std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/panic.rs:359:14
74: 0x7f4660bbffb9 - std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked::<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/thread/lifecycle.rs:68:26
75: 0x7f4660bbffb9 - <std[386a84ca6cb05ef6]::thread::lifecycle::spawn_unchecked<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_with_globals<rustc_interface[ce4f83e7df082d47]::util::run_in_thread_pool_with_globals<rustc_interface[ce4f83e7df082d47]::interface::run_compiler<(), rustc_driver_impl[141f5d82d5532281]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[2905569e18bb29b8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
at /rustc-dev/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/core/src/ops/function.rs:250:5
76: 0x7f4664010d1f - <alloc[a05d859dfdc0fb3a]::boxed::Box<dyn core[2905569e18bb29b8]::ops::function::FnOnce<(), Output = ()> + core[2905569e18bb29b8]::marker::Send> as core[2905569e18bb29b8]::ops::function::FnOnce<()>>::call_once
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/alloc/src/boxed.rs:2319:9
77: 0x7f4664010d1f - <std[386a84ca6cb05ef6]::sys::thread::unix::Thread>::new::thread_start
at /rustc/ea088e0a3dd50c494b4589c3c121d7469dceec8f/library/std/src/sys/thread/unix.rs:123:17
78: 0x7f465de981b9 - <unknown>
79: 0x7f465df1d21c - <unknown>
80: 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-2026-07-05T07_28_57-2138410.txt` to your bug report
note: rustc 1.98.0-nightly (ea088e0a3 2026-07-05) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z next-solver=globally -Z assumptions-on-binders -Z codegen-backend=cranelift -C link-dead-code
query stack during panic:
end of query stack
stmt _0 = copy _1 as *mut dyn for<'a> Trait<'a> (PointerCoercion(Unsize, Implicit))
fn change_lt_hr(_1: *mut dyn Trait<'_>) -> *mut dyn for<'a> Trait<'a> {
debug x => _1;
let mut _0: *mut dyn for<'a> Trait<'a>;
bb0: {
_0 = copy _1 as *mut dyn for<'a> Trait<'a> (PointerCoercion(Unsize, Implicit));
return;
}
}
warning: 7 warnings emitted
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
Start by running the provided code.rs command with -Znext-solver=globally, -Zassumptions-on-binders, and -Zcodegen-backend=cranelift. Then inspect compiler/rustc_codegen_cranelift/src/unsize.rs, especially unsized_info at line 39 and its callers at lines 83 and 141. Done means this reproducer no longer triggers the ICE and the regression is covered by appropriate compiler testing.
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
- Mostly clear
- Newbie friendliness
- 48/100