Update to Rust 2018
This commit is contained in:
		
							parent
							
								
									6f093f70ed
								
							
						
					
					
						commit
						1b2cd339cb
					
				| @ -9,6 +9,7 @@ name = "ruma-events" | ||||
| readme = "README.md" | ||||
| repository = "https://github.com/ruma/ruma-events" | ||||
| version = "0.11.0" | ||||
| edition = "2018" | ||||
| 
 | ||||
| [dependencies] | ||||
| ruma-identifiers = "0.11.0" | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.call.answer* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use super::SessionDescription; | ||||
| 
 | ||||
| room_event! { | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.call.candidates* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| room_event! { | ||||
|     /// This event is sent by callers after sending an invite and by the callee after answering.
 | ||||
|     /// Its purpose is to give the other party additional ICE candidates to try using to
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.call.hangup* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| room_event! { | ||||
|     /// Sent by either party to signal their termination of the call. This can be sent either once
 | ||||
|     /// the call has has been established or before to abort the call.
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.call.invite* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use super::SessionDescription; | ||||
| 
 | ||||
| room_event! { | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| //!
 | ||||
| //! This module also contains types shared by events in its child namespaces.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| pub mod answer; | ||||
| pub mod candidates; | ||||
| pub mod hangup; | ||||
|  | ||||
| @ -1,26 +1,25 @@ | ||||
| //! Enums for heterogeneous collections of events, inclusive for every event type that implements
 | ||||
| //! the trait of the same name.
 | ||||
| 
 | ||||
| use call::{ | ||||
|     answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent, | ||||
| use crate::{ | ||||
|     call::{ | ||||
|         answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent, | ||||
|     }, | ||||
|     direct::DirectEvent, | ||||
|     presence::PresenceEvent, | ||||
|     receipt::ReceiptEvent, | ||||
|     room::{ | ||||
|         aliases::AliasesEvent, avatar::AvatarEvent, canonical_alias::CanonicalAliasEvent, | ||||
|         create::CreateEvent, guest_access::GuestAccessEvent, | ||||
|         history_visibility::HistoryVisibilityEvent, join_rules::JoinRulesEvent, | ||||
|         member::MemberEvent, message::MessageEvent, name::NameEvent, | ||||
|         pinned_events::PinnedEventsEvent, power_levels::PowerLevelsEvent, | ||||
|         redaction::RedactionEvent, third_party_invite::ThirdPartyInviteEvent, topic::TopicEvent, | ||||
|     }, | ||||
|     tag::TagEvent, | ||||
|     typing::TypingEvent, | ||||
|     CustomEvent, CustomRoomEvent, CustomStateEvent, EventType, | ||||
| }; | ||||
| use direct::DirectEvent; | ||||
| use presence::PresenceEvent; | ||||
| use receipt::ReceiptEvent; | ||||
| use room::{ | ||||
|     aliases::AliasesEvent, avatar::AvatarEvent, canonical_alias::CanonicalAliasEvent, | ||||
|     create::CreateEvent, guest_access::GuestAccessEvent, | ||||
|     history_visibility::HistoryVisibilityEvent, join_rules::JoinRulesEvent, member::MemberEvent, | ||||
|     message::MessageEvent, name::NameEvent, pinned_events::PinnedEventsEvent, | ||||
|     power_levels::PowerLevelsEvent, redaction::RedactionEvent, | ||||
|     third_party_invite::ThirdPartyInviteEvent, topic::TopicEvent, | ||||
| }; | ||||
| use tag::TagEvent; | ||||
| use typing::TypingEvent; | ||||
| use CustomEvent; | ||||
| use CustomRoomEvent; | ||||
| use CustomStateEvent; | ||||
| use EventType; | ||||
| 
 | ||||
| use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; | ||||
| use serde_json::{from_value, Value}; | ||||
|  | ||||
| @ -5,18 +5,18 @@ use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; | ||||
| use serde_json::{from_value, Value}; | ||||
| 
 | ||||
| pub use super::all::StateEvent; | ||||
| use call::{ | ||||
|     answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent, | ||||
| use crate::{ | ||||
|     call::{ | ||||
|         answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent, | ||||
|     }, | ||||
|     direct::DirectEvent, | ||||
|     presence::PresenceEvent, | ||||
|     receipt::ReceiptEvent, | ||||
|     room::{message::MessageEvent, redaction::RedactionEvent}, | ||||
|     tag::TagEvent, | ||||
|     typing::TypingEvent, | ||||
|     CustomEvent, CustomRoomEvent, EventType, | ||||
| }; | ||||
| use direct::DirectEvent; | ||||
| use presence::PresenceEvent; | ||||
| use receipt::ReceiptEvent; | ||||
| use room::{message::MessageEvent, redaction::RedactionEvent}; | ||||
| use tag::TagEvent; | ||||
| use typing::TypingEvent; | ||||
| use CustomEvent; | ||||
| use CustomRoomEvent; | ||||
| use EventType; | ||||
| 
 | ||||
| /// A basic event.
 | ||||
| #[derive(Clone, Debug)] | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
| use std::collections::HashMap; | ||||
| 
 | ||||
| use ruma_identifiers::{RoomId, UserId}; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| event! { | ||||
|     /// Informs the client about the rooms that are considered direct by a user.
 | ||||
|  | ||||
							
								
								
									
										12
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -100,13 +100,6 @@ | ||||
| #![deny(missing_docs)] | ||||
| #![deny(warnings)] | ||||
| 
 | ||||
| extern crate ruma_identifiers; | ||||
| extern crate ruma_signatures; | ||||
| extern crate serde; | ||||
| #[macro_use] | ||||
| extern crate serde_derive; | ||||
| extern crate serde_json; | ||||
| 
 | ||||
| use std::fmt::{Debug, Display, Error as FmtError, Formatter, Result as FmtResult}; | ||||
| 
 | ||||
| use ruma_identifiers::{EventId, RoomId, UserId}; | ||||
| @ -114,6 +107,7 @@ use serde::{ | ||||
|     de::{Error as SerdeError, Visitor}, | ||||
|     Deserialize, Deserializer, Serialize, Serializer, | ||||
| }; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| use serde_json::Value; | ||||
| 
 | ||||
| #[macro_use] | ||||
| @ -253,7 +247,7 @@ state_event! { | ||||
| } | ||||
| 
 | ||||
| impl Display for EventType { | ||||
|     fn fmt(&self, f: &mut Formatter) -> Result<(), FmtError> { | ||||
|     fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { | ||||
|         let event_type_str = match *self { | ||||
|             EventType::CallAnswer => "m.call.answer", | ||||
|             EventType::CallCandidates => "m.call.candidates", | ||||
| @ -337,7 +331,7 @@ impl<'de> Deserialize<'de> for EventType { | ||||
|         impl<'de> Visitor<'de> for EventTypeVisitor { | ||||
|             type Value = EventType; | ||||
| 
 | ||||
|             fn expecting(&self, formatter: &mut Formatter) -> FmtResult { | ||||
|             fn expecting(&self, formatter: &mut Formatter<'_>) -> FmtResult { | ||||
|                 write!(formatter, "a Matrix event type as a string") | ||||
|             } | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| macro_rules! impl_enum { | ||||
|     ($name:ident { $($variant:ident => $s:expr,)+ }) => { | ||||
|         impl ::std::fmt::Display for $name { | ||||
|             fn fmt(&self, f: &mut ::std::fmt::Formatter) -> Result<(), ::std::fmt::Error> { | ||||
|             fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> { | ||||
|                 let variant = match *self { | ||||
|                     $($name::$variant => $s,)* | ||||
|                 }; | ||||
| @ -39,7 +39,7 @@ macro_rules! event { | ||||
|             pub content: $content_type, | ||||
| 
 | ||||
|             /// The type of the event.
 | ||||
|             #[serde(rename="type")] | ||||
|             #[serde(rename = "type")] | ||||
|             pub event_type: $crate::EventType, | ||||
| 
 | ||||
|             $( | ||||
| @ -87,7 +87,7 @@ macro_rules! room_event { | ||||
|             pub event_id: ::ruma_identifiers::EventId, | ||||
| 
 | ||||
|             /// The type of the event.
 | ||||
|             #[serde(rename="type")] | ||||
|             #[serde(rename = "type")] | ||||
|             pub event_type: $crate::EventType, | ||||
| 
 | ||||
|             /// Timestamp in milliseconds on originating homeserver when this event was sent.
 | ||||
| @ -98,7 +98,7 @@ macro_rules! room_event { | ||||
|             pub room_id: Option<::ruma_identifiers::RoomId>, | ||||
| 
 | ||||
|             /// Additional key-value pairs not signed by the homeserver.
 | ||||
|             #[serde(skip_serializing_if="Option::is_none")] | ||||
|             #[serde(skip_serializing_if = "Option::is_none")] | ||||
|             pub unsigned: Option<::serde_json::Value>, | ||||
| 
 | ||||
|             /// The unique identifier for the user who sent this event.
 | ||||
| @ -162,14 +162,14 @@ macro_rules! state_event { | ||||
|             pub event_id: ::ruma_identifiers::EventId, | ||||
| 
 | ||||
|             /// The type of the event.
 | ||||
|             #[serde(rename="type")] | ||||
|             #[serde(rename = "type")] | ||||
|             pub event_type: $crate::EventType, | ||||
| 
 | ||||
|             /// Timestamp in milliseconds on originating homeserver when this event was sent.
 | ||||
|             pub origin_server_ts: u64, | ||||
| 
 | ||||
|             /// The previous content for this state key, if any.
 | ||||
|             #[serde(skip_serializing_if="Option::is_none")] | ||||
|             #[serde(skip_serializing_if = "Option::is_none")] | ||||
|             pub prev_content: Option<$content_type>, | ||||
| 
 | ||||
|             /// The unique identifier for the room associated with this event.
 | ||||
| @ -180,7 +180,7 @@ macro_rules! state_event { | ||||
|             pub state_key: String, | ||||
| 
 | ||||
|             /// Additional key-value pairs not signed by the homeserver.
 | ||||
|             #[serde(skip_serializing_if="Option::is_none")] | ||||
|             #[serde(skip_serializing_if = "Option::is_none")] | ||||
|             pub unsigned: Option<::serde_json::Value>, | ||||
| 
 | ||||
|             /// The unique identifier for the user associated with this event.
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.presence* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use ruma_identifiers::UserId; | ||||
| 
 | ||||
| event! { | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
| use std::collections::HashMap; | ||||
| 
 | ||||
| use ruma_identifiers::{EventId, RoomId, UserId}; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| event! { | ||||
|     /// Informs the client of new receipts.
 | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.aliases* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::RoomAliasId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Informs the room about what room aliases it has been given.
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.avatar* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use super::ImageInfo; | ||||
| 
 | ||||
| state_event! { | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.canonical_alias* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::RoomAliasId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Informs the room as to which alias is the canonical one.
 | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.create* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::UserId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// This is the first event in a room and cannot be changed. It acts as the root of all other
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.guest_access* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Controls whether guest users are allowed to join rooms.
 | ||||
|     ///
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.history_visibility* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// This event controls whether a member of a room can see the events that happened in a room
 | ||||
|     /// from before they joined.
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.join_rules* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Describes how users are allowed to join the room.
 | ||||
|     pub struct JoinRulesEvent(JoinRulesEventContent) {} | ||||
|  | ||||
| @ -2,8 +2,9 @@ | ||||
| 
 | ||||
| use ruma_identifiers::UserId; | ||||
| use ruma_signatures::Signatures; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use stripped::StrippedState; | ||||
| use crate::stripped::StrippedState; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// The current membership state of a user in the room.
 | ||||
| @ -22,7 +23,7 @@ state_event! { | ||||
|     /// on a few select state events such as the room name.
 | ||||
|     pub struct MemberEvent(MemberEventContent) { | ||||
|         /// A subset of the state of the room at the time of the invite.
 | ||||
|         #[serde(skip_serializing_if="Option::is_none")] | ||||
|         #[serde(skip_serializing_if = "Option::is_none")] | ||||
|         pub invite_room_state: Option<Vec<StrippedState>> | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.message* event.
 | ||||
| 
 | ||||
| use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| use serde_json::{from_value, Value}; | ||||
| 
 | ||||
| use super::{ImageInfo, ThumbnailInfo}; | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| //!
 | ||||
| //! This module also contains types shared by events in its child namespaces.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| pub mod aliases; | ||||
| pub mod avatar; | ||||
| pub mod canonical_alias; | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.name* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// A human-friendly room name designed to be displayed to the end-user.
 | ||||
|     pub struct NameEvent(NameEventContent) {} | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.pinned_events* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::EventId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Used to "pin" particular events in a room for other participants to review later.
 | ||||
| @ -19,11 +20,10 @@ mod tests { | ||||
|     use ruma_identifiers::{EventId, RoomId, UserId}; | ||||
|     use serde_json::{from_str, to_string}; | ||||
| 
 | ||||
|     use room::pinned_events::{PinnedEventsContent, PinnedEventsEvent}; | ||||
|     use Event; | ||||
|     use EventType; | ||||
|     use RoomEvent; | ||||
|     use StateEvent; | ||||
|     use crate::{ | ||||
|         room::pinned_events::{PinnedEventsContent, PinnedEventsEvent}, | ||||
|         Event, EventType, RoomEvent, StateEvent, | ||||
|     }; | ||||
| 
 | ||||
|     #[test] | ||||
|     fn serialization_deserialization() { | ||||
|  | ||||
| @ -3,8 +3,9 @@ | ||||
| use std::collections::HashMap; | ||||
| 
 | ||||
| use ruma_identifiers::UserId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| use EventType; | ||||
| use crate::EventType; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// Defines the power levels (privileges) of users in the room.
 | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.room.redaction* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::EventId; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| room_event! { | ||||
|     /// A redaction of an event.
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.third_party_invite* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// An invitation to a room issued to a third party identifier, rather than a matrix user ID.
 | ||||
|     ///
 | ||||
|  | ||||
| @ -1,5 +1,7 @@ | ||||
| //! Types for the *m.room.topic* event.
 | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| state_event! { | ||||
|     /// A topic is a short message detailing what is currently being discussed in the room.
 | ||||
|     pub struct TopicEvent(TopicEventContent) {} | ||||
|  | ||||
| @ -7,17 +7,20 @@ | ||||
| 
 | ||||
| use ruma_identifiers::UserId; | ||||
| use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| use serde_json::{from_value, Value}; | ||||
| 
 | ||||
| use room::{ | ||||
|     aliases::AliasesEventContent, avatar::AvatarEventContent, | ||||
|     canonical_alias::CanonicalAliasEventContent, create::CreateEventContent, | ||||
|     guest_access::GuestAccessEventContent, history_visibility::HistoryVisibilityEventContent, | ||||
|     join_rules::JoinRulesEventContent, member::MemberEventContent, name::NameEventContent, | ||||
|     power_levels::PowerLevelsEventContent, third_party_invite::ThirdPartyInviteEventContent, | ||||
|     topic::TopicEventContent, | ||||
| use crate::{ | ||||
|     room::{ | ||||
|         aliases::AliasesEventContent, avatar::AvatarEventContent, | ||||
|         canonical_alias::CanonicalAliasEventContent, create::CreateEventContent, | ||||
|         guest_access::GuestAccessEventContent, history_visibility::HistoryVisibilityEventContent, | ||||
|         join_rules::JoinRulesEventContent, member::MemberEventContent, name::NameEventContent, | ||||
|         power_levels::PowerLevelsEventContent, third_party_invite::ThirdPartyInviteEventContent, | ||||
|         topic::TopicEventContent, | ||||
|     }, | ||||
|     EventType, | ||||
| }; | ||||
| use EventType; | ||||
| 
 | ||||
| /// A stripped-down version of a state event that is included along with some other events.
 | ||||
| #[derive(Clone, Debug)] | ||||
| @ -260,8 +263,10 @@ mod tests { | ||||
|     use serde_json::{from_str, to_string}; | ||||
| 
 | ||||
|     use super::{StrippedRoomTopic, StrippedState}; | ||||
|     use room::{join_rules::JoinRule, topic::TopicEventContent}; | ||||
|     use EventType; | ||||
|     use crate::{ | ||||
|         room::{join_rules::JoinRule, topic::TopicEventContent}, | ||||
|         EventType, | ||||
|     }; | ||||
| 
 | ||||
|     #[test] | ||||
|     fn serialize_stripped_state_event() { | ||||
|  | ||||
| @ -2,6 +2,8 @@ | ||||
| 
 | ||||
| use std::collections::HashMap; | ||||
| 
 | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| event! { | ||||
|     /// Informs the client of tags on a room.
 | ||||
|     pub struct TagEvent(TagEventContent) {} | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| //! Types for the *m.typing* event.
 | ||||
| 
 | ||||
| use ruma_identifiers::{RoomId, UserId}; | ||||
| use serde_derive::{Deserialize, Serialize}; | ||||
| 
 | ||||
| event! { | ||||
|     /// Informs the client of the list of users currently typing.
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user