Open
Description
The code is generated by a fuzzer and reduced manually
I have tried to minimize the code, but unfortunately it is still too large.
Code
use std::marker::PhantomData;
trait MyTrait {
fn virtualize(&self) -> &dyn MyTrait;
}
struct VirtualWrapper<T, const L: u8>((T, T));
impl<T, const L: u8> VirtualWrapper<T, L> {
pub fn wrap(value: &T) -> &Self {
unsafe { &*(value as *const T as *const Self) }
}
}
impl<T: MyTrait + 'static, const L: u8> MyTrait for VirtualWrapper<T, L> {
fn virtualize(&self) -> &dyn MyTrait {
unsafe { virtualize_my_trait(L, self) }
}
}
const unsafe fn virtualize_my_trait<T>(level: u8, obj: &T) -> &dyn MyTrait
where
T: MyTrait + 'static,
{
const fn gen_vtable_ptr<T, const L: u8>() -> *const ()
where
T: MyTrait + 'static,
{
let [_, vtable] = unsafe {
std::mem::transmute::<*const dyn MyTrait, [*const (); 2]>(std::ptr::null::<
VirtualWrapper<T, L>,
>())
};
vtable
}
struct Vtable<T>(PhantomData<T>);
impl<T> Vtable<T>
where
T: MyTrait + 'static,
{
const LEVELS: [*const (); 2] = [gen_vtable_ptr::<T, 1>(), gen_vtable_ptr::<T, 2>()];
}
let vtable = Vtable::<T>::LEVELS[(level != 0) as usize];
let data = obj as *const T as *const ();
let ptr: *const dyn MyTrait = std::mem::transmute([data, vtable]);
&*ptr
}
struct SomeData<const N: usize>([u8; N]);
impl<const N: usize> MyTrait for SomeData<N> {
fn virtualize(&self) -> &dyn MyTrait {
VirtualWrapper::<Self, 0>::wrap(self)
}
}
fn main() {
let test = SomeData([0; 256]);
test.virtualize();
}
Meta
rustc --version --verbose
:
rustc 1.89.0-nightly (99e7c15e8 2025-06-01)
binary: rustc
commit-hash: 99e7c15e81385b38a8186b51edc4577d5d7b5bdd
commit-date: 2025-06-01
host: x86_64-pc-windows-msvc
release: 1.89.0-nightly
LLVM version: 20.1.5
Error output
None
Backtrace
thread 'rustc' panicked at compiler\rustc_middle\src\ty\vtable.rs:104:10:
failed to build vtable representation: SizeOverflow((VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<SomeData<256_usize>, 0_u8>, 1_u8>,
1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>,
1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<SomeData<256_usize>, 0_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>, 1_u8>))
stack backtrace:
0: 0x7ffa634f6c92 - std::backtrace_rs::backtrace::win64::trace
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
1: 0x7ffa634f6c92 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ffa634f6c92 - std::sys::backtrace::_print_fmt
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\sys\backtrace.rs:66
3: 0x7ffa634f6c92 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\sys\backtrace.rs:39
4: 0x7ffa6352a43b - core::fmt::rt::Argument::fmt
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\core\src\fmt\rt.rs:173
5: 0x7ffa6352a43b - core::fmt::write
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\core\src\fmt\mod.rs:1446
6: 0x7ffa634ec907 - std::io::default_write_fmt
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\io\mod.rs:639
7: 0x7ffa634ec907 - std::io::Write::write_fmt<std::sys::stdio::windows::Stderr>
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\io\mod.rs:1914
8: 0x7ffa634f6ad5 - std::sys::backtrace::BacktraceLock::print
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\sys\backtrace.rs:42
9: 0x7ffa634fc86a - std::panicking::default_hook::closure$0
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\panicking.rs:300
10: 0x7ffa634fc600 - std::panicking::default_hook
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\panicking.rs:327
11: 0x7ffa64d0e479 - core[8a5ffb0f6e157f51]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[e7e4335dae4fe9fa]::Level, &str), usize), <((rustc_lint_defs[e7e4335dae4fe9fa]::Level, &str), usize) as core[8a5ffb0f6e157f51]::cmp::PartialOrd>::lt>
12: 0x7ffa634fd4ee - std::panicking::rust_panic_with_hook
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\panicking.rs:841
13: 0x7ffa634fd249 - std::panicking::begin_panic_handler::closure$0
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\panicking.rs:706
14: 0x7ffa634f7a4f - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\sys\backtrace.rs:168
15: 0x7ffa634fce4e - std::panicking::begin_panic_handler
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\panicking.rs:697
16: 0x7ffa6664fc81 - core::panicking::panic_fmt
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\core\src\panicking.rs:75
17: 0x7ffa66650240 - core::result::unwrap_failed
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\core\src\result.rs:1761
18: 0x7ffa64b793c2 - rustc_middle[35e97b03f912a78c]::ty::vtable::vtable_allocation_provider
19: 0x7ffa630b27e5 - <alloc[b4384d090e2d7613]::raw_vec::RawVec<rustc_errors[d0c969e805ee7025]::SubstitutionHighlight>>::grow_one
20: 0x7ffa6308a183 - <alloc[b4384d090e2d7613]::raw_vec::RawVec<rustc_errors[d0c969e805ee7025]::SubstitutionHighlight>>::grow_one
21: 0x7ffa63013105 - RINvNtNtCsfgJ3SJoqQ28_18rustc_query_system5query8plumbing17try_execute_queryINtCsiMdpBVGdfNY_16rustc_query_impl13DynamicConfigINtNtB4_6caches12DefaultCacheTNtNtCs4CYifbWGUB4_12rustc_middle2ty2TyINtNtCsbSz7xhK8T4X_4core6option6OptionINtNtCscdwuIBSIt2T_13rus
22: 0x7ffa630cd4b2 - rustc_query_impl[dab71d0b745f4530]::query_system
23: 0x7ffa6398f720 - rustc_monomorphize[8a1b98a6380b7d1c]::collector::should_codegen_locally
24: 0x7ffa6398f3e7 - rustc_monomorphize[8a1b98a6380b7d1c]::collector::should_codegen_locally
25: 0x7ffa6399138b - rustc_monomorphize[8a1b98a6380b7d1c]::collector::items_of_instance
26: 0x7ffa644615c7 - rustc_query_impl[dab71d0b745f4530]::plumbing::query_key_hash_verify_all
27: 0x7ffa64396801 - RINvNtNtCsfgJ3SJoqQ28_18rustc_query_system5query8plumbing17try_execute_queryINtCsiMdpBVGdfNY_16rustc_query_impl13DynamicConfigINtNtB4_6caches12DefaultCacheTNtNtNtCs4CYifbWGUB4_12rustc_middle2ty8instance8InstanceNtNtNtB2A_3mir4mono14CollectionModeEINtNtNtB2
28: 0x7ffa64472ca4 - rustc_query_impl[dab71d0b745f4530]::plumbing::query_key_hash_verify_all
29: 0x7ffa639b57ac - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
30: 0x7ffa639af192 - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
31: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
32: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
33: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
34: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
35: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
36: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
37: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
38: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
39: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
40: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
41: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
42: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
43: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
44: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
45: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
46: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
47: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
48: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
49: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
50: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
51: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
52: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
53: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
54: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
55: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
56: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
57: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
58: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
59: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
60: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
61: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
62: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
63: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
64: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
65: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
66: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
67: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
68: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
69: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
70: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
71: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
72: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
73: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
74: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
75: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
76: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
77: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
78: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
79: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
80: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
81: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
82: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
83: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
84: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
85: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
86: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
87: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
88: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
89: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
90: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
91: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
92: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
93: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
94: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
95: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
96: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
97: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
98: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
99: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
100: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
101: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
102: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
103: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
104: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
105: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
106: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
107: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
108: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
109: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
110: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
111: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
112: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
113: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
114: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
115: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
116: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
117: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
118: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
119: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
120: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
121: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
122: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
123: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
124: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
125: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
126: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
127: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
128: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
129: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
130: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
131: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
132: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
133: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
134: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
135: 0x7ffa639b0bda - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
136: 0x7ffa62d73d1f - <rustc_monomorphize[8a1b98a6380b7d1c]::collector::MirUsedCollector as rustc_middle[35e97b03f912a78c]::mir::visit::Visitor>::visit_const_operand
137: 0x7ffa639a2c1a - rustc_monomorphize[8a1b98a6380b7d1c]::partitioning::collect_and_partition_mono_items
138: 0x7ffa630b4c17 - <alloc[b4384d090e2d7613]::raw_vec::RawVec<rustc_errors[d0c969e805ee7025]::SubstitutionHighlight>>::grow_one
139: 0x7ffa6309520d - <alloc[b4384d090e2d7613]::raw_vec::RawVec<rustc_errors[d0c969e805ee7025]::SubstitutionHighlight>>::grow_one
140: 0x7ffa62fc3db0 - RINvNtNtCsfgJ3SJoqQ28_18rustc_query_system5query8plumbing17try_execute_queryINtCsiMdpBVGdfNY_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCs4CYifbWGUB4_12rustc_middle5query5erase6ErasedAhj28_EEKb0_KB3t_KB3t_ENtNtB1f_8plumbing9QueryCt
141: 0x7ffa630dbbb8 - rustc_query_impl[dab71d0b745f4530]::query_system
142: 0x7ffa5fa9f39e - std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Construct_n<std::basic_string<char,std::char_traits<char>,std::allocator<char> > * __
143: 0x7ffa5fb13290 - <rustc_codegen_llvm[5d39dca9d63c1fac]::LlvmCodegenBackend as rustc_codegen_ssa[23578f959fa0976c]::traits::backend::CodegenBackend>::codegen_crate
144: 0x7ffa5fa8d6d4 - <rustc_interface[d74375afd92e61d]::queries::Linker>::codegen_and_build_linker
145: 0x7ffa5fa08ff2 - std[d89d771bd114655e]::sys::backtrace::__rust_begin_short_backtrace::<<std[d89d771bd114655e]::thread::Builder>::spawn_unchecked_<ctrlc[75c4a2be15774029]::set_handler_inner<rustc_driver_impl[ae1394bfd7cca110]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
146: 0x7ffa5fa03215 - std[d89d771bd114655e]::sys::backtrace::__rust_begin_short_backtrace::<<std[d89d771bd114655e]::thread::Builder>::spawn_unchecked_<ctrlc[75c4a2be15774029]::set_handler_inner<rustc_driver_impl[ae1394bfd7cca110]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
147: 0x7ffa5f9feabf - RINvNtNtCsiB2iyZKg2Bu_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCs19C8GZzv0kH_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCseWBvRzBVTlQ_17rustc_driver_i
148: 0x7ffa5fa0d2ed - std[d89d771bd114655e]::sys::backtrace::__rust_begin_short_backtrace::<<std[d89d771bd114655e]::thread::Builder>::spawn_unchecked_<ctrlc[75c4a2be15774029]::set_handler_inner<rustc_driver_impl[ae1394bfd7cca110]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
149: 0x7ffa6350184d - alloc::boxed::impl$28::call_once
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\alloc\src\boxed.rs:1966
150: 0x7ffa6350184d - alloc::boxed::impl$28::call_once
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\alloc\src\boxed.rs:1966
151: 0x7ffa6350184d - std::sys::pal::windows::thread::impl$0::new::thread_start
at /rustc/99e7c15e81385b38a8186b51edc4577d5d7b5bdd/library\std\src\sys\pal\windows\thread.rs:56
152: 0x7ffb07667374 - BaseThreadInitThunk
153: 0x7ffb08bbcc91 - RtlUserThreadStart
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 `D:\rust_test\gpt_generate_mutators\rustc-ice-2025-06-02T12_58_58-27512.txt` to your bug report
query stack during panic:
#0 [vtable_allocation] vtable const allocation for <VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<SomeData<256>, 0>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1> as MyTrait>
#1 [items_of_instance] collecting items used by `virtualize_my_trait::<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<VirtualWrapper<SomeData<256>, 0>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>, 1>>`
... and 1 other queries... use `env RUST_BACKTRACE=1` to see the full query stack