Skip to main content

datex_core/traits/
identity.rs

1pub trait Identity {
2    /// Check if two values are strictly identical (same pointer, same value, same type, same permissions).
3    fn identical(&self, other: &Self) -> bool;
4}
5
6#[macro_export]
7macro_rules! assert_identical {
8    ($left_val:expr, $right_val:expr $(,)?) => {
9        if !$left_val.identical(&$right_val) {
10            core::panic!(
11                "identity assertion failed: `(left is right)`\n  left: `{:?}`,\n right: `{:?}`",
12                $left_val, $right_val
13            );
14        }
15    };
16}