Skip to content

ICE:failed to build vtable representation:SizeOverflow #141911

Open
@sososopy

Description

@sososopy

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions