macro_rules! with_shared_docs {(
$(#[$before_clarification:meta])*
;clarification
$(#[$before_syntax:meta])*
;syntax
$(#[$after_syntax:meta])*
;limitations
$item:item
) => (
$(#[$before_clarification])*
$(#[$before_syntax])*
$(#[$after_syntax])*
$item
)}
with_shared_docs! {
;clarification
;syntax
;limitations
#[cfg_attr(feature = "__docsrs", doc(cfg(feature = "assertcp")))]
#[macro_export]
macro_rules! assertcp {
($($parameters:tt)*) => (
$crate::__assertc_inner!{
__formatcp_if_impl
($($parameters)*)
($($parameters)*)
}
);
}
}
#[doc(hidden)]
#[macro_export]
macro_rules! __assertcp_equality_inner {
(
($($parameters:tt)*)
(
$left:expr,
$right:expr
$(, $fmt_literal:expr $(,$fmt_arg:expr)*)? $(,)?
)
($($op:tt)*)
($op_str:expr)
)=>{
#[allow(non_snake_case)]
const _: () = {
use $crate::__cf_osRcTFl4A;
const ARGS_NHPMWYD3NJA:
($crate::pmr::bool, $crate::pmr::PArgument, $crate::pmr::PArgument)
= {
let left = $crate::PWrapper($left);
let right = $crate::pmr::PConvWrapper($right);
let cond = left.const_eq(&right.0);
let fmt = $crate::pmr::FormattingFlags::NEW.set_alternate(true);
(
cond,
$crate::pmr::PConvWrapper(left.0).to_pargument_debug(fmt),
right.to_pargument_debug(fmt),
)
};
$crate::__assertc_common!{
__formatcp_if_impl
($($parameters)*)
(ARGS_NHPMWYD3NJA.0 $($op)* true)
(
concat!(
"\nassertion failed: `(left ",
$op_str,
" right)`\n",
" left: `{left_NHPMWYD3NJA:#?}`\n\
right: `{right_NHPMWYD3NJA:#?}`",
$("\n", $fmt_literal, "\n")?
),
$($($fmt_arg,)*)?
left_NHPMWYD3NJA = ARGS_NHPMWYD3NJA.1,
right_NHPMWYD3NJA = ARGS_NHPMWYD3NJA.2
)
}
};
}
}
with_shared_docs! {
;clarification
;syntax
;limitations
#[cfg_attr(feature = "__docsrs", doc(cfg(feature = "assertcp")))]
#[macro_export]
macro_rules! assertcp_eq {
($($parameters:tt)*) => (
$crate::__assertcp_equality_inner!{
($($parameters)*)
($($parameters)*)
( == )
("==")
}
);
}
}
with_shared_docs! {
;clarification
;syntax
;limitations
#[cfg_attr(feature = "__docsrs", doc(cfg(feature = "assertcp")))]
#[macro_export]
macro_rules! assertcp_ne {
($($parameters:tt)*) => (
$crate::__assertcp_equality_inner!{
($($parameters)*)
($($parameters)*)
( != )
("!=")
}
);
}
}