1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
pub( crate ) mod private
{
///
/// Macro to compare meta condition is true at compile-time.
///
/// ### Basic use-case.
///
/// ``` rust
/// use diagnostics_tools::prelude::*;
/// cta_true!( any( feature = "diagnostics_compiletime_assertions", feature = "diagnostics_compiletime_assertions" ) );
/// ```
///
#[ macro_export ]
macro_rules! cta_true
{
() => {};
(
$( $Cond : meta )+, $Msg : expr $(,)?
) =>
{
#[ cfg( not( $( $Cond )+ ) ) ]
core::compile_error!( $Msg );
};
(
$( $Cond : tt )*
)
=>
{
#[ cfg( not( $( $Cond )* ) ) ]
core::compile_error!
(
concat!
(
"Does not hold :\n ",
stringify!( $( $Cond )* ),
)
);
};
}
pub use cta_true;
}
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use protected::*;
/// Protected namespace of the module.
pub mod protected
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::orphan::*;
}
/// Orphan namespace of the module.
pub mod orphan
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::exposed::*;
}
/// Exposed namespace of the module.
pub mod exposed
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::prelude::*;
}
/// Prelude to use essentials: `use my_module::prelude::*`.
pub mod prelude
{
#[ doc( inline ) ]
#[ allow( unused_imports ) ]
pub use super::private::
{
cta_true,
};
}