Function core::ptr::addr_eq

1.76.0 · source ·
pub fn addr_eq<T: ?Sized, U: ?Sized>(p: *const T, q: *const U) -> bool
Expand description

Compares the addresses of the two pointers for equality, ignoring any metadata in fat pointers.

If the arguments are thin pointers of the same type, then this is the same as eq.


use std::ptr;

let whole: &[i32; 3] = &[1, 2, 3];
let first: &i32 = &whole[0];

assert!(ptr::addr_eq(whole, first));
assert!(!ptr::eq::<dyn std::fmt::Debug>(whole, first));