// skip-filecheck | |
//@ test-mir-pass: GVN | |
//@ only-64bit | |
//@ compile-flags: -Z mir-enable-passes=+Inline | |
// Regression for <https://github.com/rust-lang/rust/issues/127089> | |
struct Foo<T>(std::marker::PhantomData<T>); | |
impl<T> Foo<T> { | |
const SENTINEL: *mut T = std::ptr::dangling_mut(); | |
fn cmp_ptr(a: *mut T) -> bool { | |
std::ptr::eq(a, Self::SENTINEL) | |
} | |
} | |
// EMIT_MIR gvn_ptr_eq_with_constant.main.GVN.diff | |
pub fn main() { | |
Foo::<u8>::cmp_ptr(std::ptr::dangling_mut()); | |
} |