Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #![feature(const_fn, const_raw_ptr_deref, const_transmute)]
- const unsafe fn get_drop_glue<T>() -> fn(*const u8) {
- #[repr(C)]
- struct Raw {
- _data: *mut (),
- vtable: *mut (),
- }
- trait All { fn dummy(&self) {} }
- impl <T: ?Sized> All for T { }
- unsafe {
- let ptr = &*(1 as *const T);
- let obj = std::mem::transmute::<&All, Raw>(ptr);
- *(obj.vtable as *const fn(*const u8))
- }
- }
- fn main() {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement