mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-03 13:37:37 +00:00
26 lines
606 B
Rust
26 lines
606 B
Rust
![]() |
//@ 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");
|
||
|
}
|