how.rs/src/sealed.rs

16 lines
420 B
Rust

/// Like [sealed](https://crates.io/crates/sealed) but not a procmacro.
#[doc(hidden)]
#[macro_export]
macro_rules! __sealed__seal {
($vis:vis $mod:ident::$trait:ident$(<$($gen:ident),+>)?) => {
#[doc(hidden)]
mod $mod {
#[doc(hidden)]
pub trait $trait$(<$($gen),+>)? {}
}
#[doc(hidden)]
$vis use $mod::$trait;
};
}
pub use __sealed__seal as seal;