1 2 3 4 5 6 7 8 9 10 11 12 13
macro_rules! sealed { ($($impl:ident $(<$($args:ident),*>)?),+) => { mod sealed { /// A marker trait used to prevent external implementations. #[allow(dead_code)] pub trait Sealed {} } $(impl$(<$($args),*>)? sealed::Sealed for $impl $(<$($args),*>)? {})+ }; } pub(crate) use sealed;