datex_core/traits/value_eq.rs
1pub trait ValueEq {
2 /// Check if two values are exactly equal, including the type.
3 fn value_eq(&self, other: &Self) -> bool;
4}
5
6#[macro_export]
7macro_rules! assert_value_eq {
8 ($left_val:expr, $right_val:expr $(,)?) => {
9 if !$left_val.value_eq(&$right_val) {
10 core::panic!(
11 "value equality assertion failed: `(left === right)`\n left: `{:?}`,\n right: `{:?}`",
12 $left_val, $right_val
13 );
14 }
15 };
16}