// run-pass #[repr(align(4))] struct Foo; static FOO: Foo = Foo; fn main() { let x: &'static () = &(); assert_ne!(x as *const () as usize, 1); let x: &'static Foo = &Foo; assert_ne!(x as *const Foo as usize, 4); // statics must have a unique address assert_ne!(&FOO as *const Foo as usize, 4); // FIXME this two tests should be assert_eq! // this stopped working since we are promoting to constants instead of statics assert_ne!(>::new().as_ptr(), <&[i32]>::default().as_ptr()); assert_ne!(>::default().as_ptr(), (&[]).as_ptr()); }