pub( crate ) mod private
{
#[ macro_export ]
macro_rules! debug_assert_id
{
( $( $arg : tt )+ ) =>
{
#[cfg(debug_assertions)]
std::assert_eq!( $( $arg )+ );
};
}
#[ macro_export ]
macro_rules! debug_assert_identical
{
( $( $arg : tt )+ ) =>
{
#[cfg(debug_assertions)]
$crate::debug_assert_id!( $( $arg )+ );
};
}
#[ macro_export ]
macro_rules! debug_assert_ni
{
( $( $arg : tt )+ ) =>
{
#[cfg(debug_assertions)]
std::assert_ne!( $( $arg )+ );
};
}
#[ macro_export ]
macro_rules! debug_assert_not_identical
{
( $( $arg : tt )+ ) =>
{
#[cfg(debug_assertions)]
$crate::debug_assert_ni!( $( $arg )+ );
};
}
pub use debug_assert_id;
pub use debug_assert_identical;
pub use debug_assert_ni;
pub use debug_assert_not_identical;
}
pub mod protected
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::orphan::*;
}
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use protected::*;
pub mod orphan
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::exposed::*;
}
pub mod exposed
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::prelude::*;
}
pub mod prelude
{
pub use super::private::debug_assert_id;
pub use super::private::debug_assert_identical;
pub use super::private::debug_assert_ni;
pub use super::private::debug_assert_not_identical;
}