Update to Rust 2018

This commit is contained in:
Jonas Platte 2019-01-13 22:01:27 +01:00
parent 6f093f70ed
commit 1b2cd339cb
32 changed files with 103 additions and 64 deletions

View File

@ -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"

View File

@ -1,5 +1,7 @@
//! Types for the *m.call.answer* event.
use serde_derive::{Deserialize, Serialize};
use super::SessionDescription;
room_event! {

View File

@ -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

View File

@ -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.

View File

@ -1,5 +1,7 @@
//! Types for the *m.call.invite* event.
use serde_derive::{Deserialize, Serialize};
use super::SessionDescription;
room_event! {

View File

@ -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;

View File

@ -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};

View File

@ -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)]

View File

@ -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.

View File

@ -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")
}

View File

@ -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.

View File

@ -1,5 +1,7 @@
//! Types for the *m.presence* event.
use serde_derive::{Deserialize, Serialize};
use ruma_identifiers::UserId;
event! {

View File

@ -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.

View File

@ -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.

View File

@ -1,5 +1,7 @@
//! Types for the *m.room.avatar* event.
use serde_derive::{Deserialize, Serialize};
use super::ImageInfo;
state_event! {

View File

@ -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.

View File

@ -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

View File

@ -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.
///

View File

@ -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.

View File

@ -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) {}

View File

@ -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>>
}
}

View File

@ -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};

View File

@ -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;

View File

@ -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) {}

View File

@ -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() {

View File

@ -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.

View File

@ -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.

View File

@ -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.
///

View File

@ -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) {}

View File

@ -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() {

View File

@ -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) {}

View File

@ -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.