Macro sp_core::impl_maybe_marker [−][src]
macro_rules! impl_maybe_marker { ( $( $(#[$doc:meta] )+ trait $trait_name:ident: $( $trait_bound:path ),+; )+ ) => { ... }; }
Expand description
Macro for creating Maybe*
marker traits.
Such a maybe-marker trait requires the given bound when feature = std
and doesn’t require
the bound on no_std
. This is useful for situations where you require that a type implements
a certain trait with feature = std
, but not on no_std
.
Example
sp_core::impl_maybe_marker! { /// A marker for a type that implements `Debug` when `feature = std`. trait MaybeDebug: std::fmt::Debug; /// A marker for a type that implements `Debug + Display` when `feature = std`. trait MaybeDebugDisplay: std::fmt::Debug, std::fmt::Display; }