Derive Macro Event

Source
#[derive(Event)]
{
    // Attributes available to this derive:
    #[ruma_event]
}
Expand description

Generates trait implementations for Matrix event types.

This macro parses the name of the type on which it is applied to decide what to do, which means that it only works on a fixed list of types. It also requires the type to be a struct with named fields, with one of these fields named content.

This macro implements at least Deserialize for the type on which it is applied.

If the type is an OriginalSync or RedactedSync event, this implements conversion helpers to the non-sync version of the event type. For example if the event type is OriginalSyncMessageLikeEvent, this will generate From<OriginalMessageLikeEvent> for OriginalSyncMessageLikeEvent and OriginalSyncMessageLikeEvent::into_full_event().

If the type is a non-stripped timeline event, i.e. a struct with an event_id field, this implements PartialEq, Eq, PartialOrd and Ord by comparing the event_id fields.

You can use cargo doc to find out more details, its --document-private-items flag also lets you generate documentation for binaries or private parts of a library.