Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. #![feature(const_fn, const_raw_ptr_deref, const_transmute)]
  2.  
  3. const unsafe fn get_drop_glue<T>() -> fn(*const u8) {
  4. #[repr(C)]
  5. struct Raw {
  6. _data: *mut (),
  7. vtable: *mut (),
  8. }
  9.  
  10. trait All { fn dummy(&self) {} }
  11. impl <T: ?Sized> All for T { }
  12.  
  13. unsafe {
  14. let ptr = &*(1 as *const T);
  15.  
  16. let obj = std::mem::transmute::<&All, Raw>(ptr);
  17. *(obj.vtable as *const fn(*const u8))
  18. }
  19.  
  20. }
  21.  
  22. fn main() {
  23.  
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement