#[macro_export]
macro_rules! not_equal {
($left:expr, $right:expr $(,)?) => ({
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("not_equal", left, right, stringify!($left), stringify!($right));
}
});
($left:expr, $right:expr, $($msg_args:tt)+) => ({
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("not_equal", left, right, stringify!($left), stringify!($right), format_args!($($msg_args)+))
}
})
}
#[macro_export]
macro_rules! ne {
($left:expr, $right:expr $(,)?) => ({
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("ne", left, right, stringify!($left), stringify!($right));
}
});
($left:expr, $right:expr, $($msg_args:tt)+) => ({
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("ne", left, right, stringify!($left), stringify!($right), format_args!($($msg_args)+))
}
})
}
#[macro_export]
macro_rules! debug_not_equal {
($left:expr, $right:expr $(,)?) => ({
if cfg!(debug_assertions) {
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("debug_not_equal", left, right, stringify!($left), stringify!($right));
}
}
});
($left:expr, $right:expr, $($msg_args:tt)+) => ({
if cfg!(debug_assertions) {
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("debug_not_equal", left, right, stringify!($left), stringify!($right), format_args!($($msg_args)+))
}
}
})
}
#[macro_export]
macro_rules! debug_ne {
($left:expr, $right:expr $(,)?) => ({
if cfg!(debug_assertions) {
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("debug_ne", left, right, stringify!($left), stringify!($right));
}
}
});
($left:expr, $right:expr, $($msg_args:tt)+) => ({
if cfg!(debug_assertions) {
let (left, right) = (&($left), &($right));
if left == right {
$crate::__cmp_assert_fail!("debug_ne", left, right, stringify!($left), stringify!($right), format_args!($($msg_args)+))
}
}
})
}