From c9c56c3404fc3e75384b8e1eaaedc0eaf1ea1ccd Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 16 Jul 2020 23:29:09 +0200 Subject: [PATCH] Mark AvatarEventContent as non_exhaustive --- ruma-events/src/room/avatar.rs | 8 ++++++++ ruma-events/tests/state_event.rs | 1 + 2 files changed, 9 insertions(+) diff --git a/ruma-events/src/room/avatar.rs b/ruma-events/src/room/avatar.rs index 5cd3539f..3a891382 100644 --- a/ruma-events/src/room/avatar.rs +++ b/ruma-events/src/room/avatar.rs @@ -13,6 +13,7 @@ pub type AvatarEvent = StateEvent; /// The payload for `AvatarEvent`. #[derive(Clone, Debug, Deserialize, Serialize, StateEventContent)] +#[non_exhaustive] #[ruma_event(type = "m.room.avatar")] pub struct AvatarEventContent { /// Information about the avatar image. @@ -23,3 +24,10 @@ pub struct AvatarEventContent { /// URL of the avatar image. pub url: String, } + +impl AvatarEventContent { + /// Create an `AvatarEventContent` from the given image URL. + pub fn new(url: String) -> Self { + Self { info: None, url } + } +} diff --git a/ruma-events/tests/state_event.rs b/ruma-events/tests/state_event.rs index aaa14ec7..2858155b 100644 --- a/ruma-events/tests/state_event.rs +++ b/ruma-events/tests/state_event.rs @@ -193,6 +193,7 @@ fn deserialize_avatar_without_prev_content() { content: AnyStateEventContent::RoomAvatar(AvatarEventContent { info: Some(info), url, + .. }), event_id, origin_server_ts,