diff --git a/crates/ruma-common/src/events/content.rs b/crates/ruma-common/src/events/content.rs index d6fd59f1..573bcccc 100644 --- a/crates/ruma-common/src/events/content.rs +++ b/crates/ruma-common/src/events/content.rs @@ -136,43 +136,36 @@ pub enum EventKind { Presence, } -macro_rules! trait_aliases { - // need to use `,` instead of `+` because (1) path can't be followed by `+` - // and (2) `+` can't be used as a separator since it's a repetition operator - ($( - $( #[doc = $docs:literal] )* - trait $id:ident = $( $def:path ),+; - )*) => { - $( - $( #[doc = $docs] )* - pub trait $id: $($def+)+ {} - impl $id for T {} - )* - } +/// An alias for `EventContent`. +pub trait GlobalAccountDataEventContent: + EventContent +{ } +impl> GlobalAccountDataEventContent for T {} -trait_aliases! { - /// An alias for `EventContent`. - trait GlobalAccountDataEventContent = EventContent; +/// An alias for `EventContent`. +pub trait RoomAccountDataEventContent: EventContent {} +impl> RoomAccountDataEventContent for T {} - /// An alias for `EventContent`. - trait RoomAccountDataEventContent = EventContent; +/// An alias for `EventContent`. +pub trait EphemeralRoomEventContent: EventContent {} +impl> EphemeralRoomEventContent for T {} - /// An alias for `EventContent`. - trait EphemeralRoomEventContent = EventContent; +/// An alias for `EventContent`. +pub trait MessageLikeEventContent: EventContent {} +impl> MessageLikeEventContent for T {} - /// An alias for `EventContent`. - trait MessageLikeEventContent = EventContent; +/// An alias for `MessageLikeEventContent + RedactedEventContent`. +pub trait RedactedMessageLikeEventContent: MessageLikeEventContent + RedactedEventContent {} +impl RedactedMessageLikeEventContent for T {} - /// An alias for `MessageLikeEventContent + RedactedEventContent`. - trait RedactedMessageLikeEventContent = MessageLikeEventContent, RedactedEventContent; +/// An alias for `StateEventContent + RedactedEventContent`. +pub trait RedactedStateEventContent: StateEventContent + RedactedEventContent {} +impl RedactedStateEventContent for T {} - /// An alias for `StateEventContent + RedactedEventContent`. - trait RedactedStateEventContent = StateEventContent, RedactedEventContent; - - /// An alias for `EventContent`. - trait ToDeviceEventContent = EventContent; -} +/// An alias for `EventContent`. +pub trait ToDeviceEventContent: EventContent {} +impl> ToDeviceEventContent for T {} /// An alias for `EventContent`. pub trait StateEventContent: EventContent {