rust/tests/ui/codegen/equal-pointers-unequal/strict-provenance/basic.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
454 B
Rust
Raw Permalink Normal View History

2024-07-06 16:42:17 +00:00
//@ known-bug: #107975
//@ compile-flags: -Copt-level=2
//@ run-pass
use std::ptr;
fn main() {
let a: usize = {
let v = 0u8;
ptr::from_ref(&v).addr()
};
let b: usize = {
let v = 0u8;
ptr::from_ref(&v).addr()
};
// `a` and `b` are not equal.
assert_ne!(a, b);
// But they are the same number.
assert_eq!(format!("{a}"), format!("{b}"));
// And they are equal.
assert_eq!(a, b);
}