Skip to content

ICE:failed to build vtable representation:SizeOverflow #141911

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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