//! Check that `vtable_size` gets overridden by llvm backend even if there is no //! `rustc_intrinsic_must_be_overridden` attribute on this usage. #![feature(rustc_attrs)] //@run-pass #[rustc_intrinsic] pub unsafe fn vtable_size(_ptr: *const ()) -> usize { panic!(); } trait Trait {} impl Trait for () {} fn main() { let x: &dyn Trait = &(); unsafe { let (_data, vtable): (*const (), *const ()) = core::mem::transmute(x); assert_eq!(vtable_size(vtable), 0); } }