Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. use std::sync::Arc;
  2. unsafe fn test<A>(
  3. arg: Arc<A>,
  4. ) {
  5. println!("&arg: {:#x}", &arg as *const _ as usize);
  6. println!("&*arg: {:#x}", &*arg as *const _ as usize);
  7. let arg1_pointer = core::mem::transmute::<Arc<A>, usize>(arg);
  8. println!("transmute(arg): {:#x}", arg1_pointer);
  9. }
  10.  
  11. fn main() {
  12. let a = Arc::new(12);
  13. println!("a: {:p}", a);
  14. println!("&a: {:p}", &a);
  15. unsafe { test(a) };
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement