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 )+ );
};
}
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use debug_assert_id;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use debug_assert_identical;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use debug_assert_ni;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use debug_assert_not_identical;
}
#[allow(unused_imports)]
pub mod own {
use super::*;
#[doc(inline)]
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use orphan::*;
}
#[doc(inline)]
#[allow(unused_imports)]
#[allow(clippy::pub_use)]
pub use own::*;
#[allow(unused_imports)]
pub mod orphan {
use super::*;
#[doc(inline)]
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use exposed::*;
}
#[allow(unused_imports)]
pub mod exposed {
use super::*;
#[doc(inline)]
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use prelude::*;
}
#[allow(unused_imports)]
pub mod prelude {
use super::*;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use private::debug_assert_id;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use private::debug_assert_identical;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use private::debug_assert_ni;
#[allow(clippy::useless_attribute, clippy::pub_use)]
pub use private::debug_assert_not_identical;
}