//@ known-bug: #107975 //@ compile-flags: -Copt-level=2 //@ run-pass // https://github.com/rust-lang/rust/issues/107975#issuecomment-1430704499 use std::ptr; fn main() { let a: usize = { let v = 0; ptr::from_ref(&v).expose_provenance() }; let b: usize = { let v = 0; ptr::from_ref(&v).expose_provenance() }; assert_ne!(a, b); assert_ne!(a, b); let c = a; assert_eq!(format!("{} {} {}", a == b, a == c, b == c), "false true false"); println!("{a} {b}"); assert_eq!(format!("{} {} {}", a == b, a == c, b == c), "true true true"); }