3 // Test that pointers to extern types can be cast from/to usize,
4 // despite being !Sized.
5 #![feature(extern_types)]
16 struct Bar<T: ?Sized> {
21 #[cfg(target_pointer_width = "32")]
22 const MAGIC: usize = 0xdeadbeef;
23 #[cfg(target_pointer_width = "64")]
24 const MAGIC: usize = 0x12345678deadbeef;
27 assert_eq!((MAGIC as *const A) as usize, MAGIC);
28 assert_eq!((MAGIC as *const Foo) as usize, MAGIC);
29 assert_eq!((MAGIC as *const Bar<A>) as usize, MAGIC);
30 assert_eq!((MAGIC as *const Bar<Bar<A>>) as usize, MAGIC);