blob: 976d4ac1b023b8dc4719387c5330a799090881dc [file] [log] [blame]
use crate::fmt::Debug;
#[track_caller]
#[allow(unused)]
pub(crate) fn assert_eq_rt<T: PartialEq + Debug>(a: &T, b: &T) {
std::assert_eq!(a, b)
}
#[allow(unused)]
macro_rules! assert_eq_const {
($a:expr, $b:expr $(,)?) => {{
#[inline(always)]
#[rustc_const_unstable(feature = "stdarch_const_helpers", issue = "none")]
const fn assert_eq_ct<T: [const] PartialEq>(a: &T, b: &T) {
assert!(a == b, concat!("`", stringify!($a), "` != `", stringify!($b), "`"));
}
$crate::intrinsics::const_eval_select((&$a, &$b), assert_eq_ct, $crate::core_arch::test::assert_eq_rt);
}};
($a:expr, $b:expr, $($t:tt)+) => {
::std::assert_eq!($a, $b, $($t)+)
};
}
pub(crate) use assert_eq_const;