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;
}