Macro trait_set::trait_set [−][src]
trait_set!() { /* proc-macro */ }
Creates an alias for set of traits.
To demonstrate the idea, see the examples:
use trait_set::trait_set; trait_set! { pub trait ThreadSafe = Send + Sync; pub trait ThreadSafeIterator<T> = ThreadSafe + Iterator<Item = T>; pub trait ThreadSafeBytesIterator = ThreadSafeIterator<u8>; pub trait StaticDebug = 'static + std::fmt::Debug; }
This macro also supports higher-rank trait bound:
use trait_set::trait_set; trait_set!{ pub trait Serde = Serialize + for<'de> Deserialize<'de>; // Note that you can also use lifetimes as a generic parameter. pub trait SerdeLifetimeTemplate<'de> = Serialize + Deserialize<'de>; }