From 6f093f70ed9e08f82e5521b976d167ecf86f4a2f Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Sun, 13 Jan 2019 21:58:34 +0100 Subject: [PATCH] Use nested imports, misc. import changes * Bring imports into a consistent order (std, crates, internal) * Replace super::super-imports by crate-relative ones --- .rustfmt.toml | 1 + src/collections/all.rs | 41 ++++++++++++++++++----------------------- src/collections/only.rs | 28 +++++++++++++--------------- src/direct.rs | 8 +++++--- src/lib.rs | 6 ++++-- src/presence.rs | 20 ++++++-------------- src/room/message.rs | 15 +++++++-------- src/stripped.rs | 26 ++++++++++---------------- 8 files changed, 64 insertions(+), 81 deletions(-) create mode 100644 .rustfmt.toml diff --git a/.rustfmt.toml b/.rustfmt.toml new file mode 100644 index 00000000..7d2cf549 --- /dev/null +++ b/.rustfmt.toml @@ -0,0 +1 @@ +merge_imports = true diff --git a/src/collections/all.rs b/src/collections/all.rs index 5654405d..e3f03c9d 100644 --- a/src/collections/all.rs +++ b/src/collections/all.rs @@ -1,34 +1,28 @@ //! Enums for heterogeneous collections of events, inclusive for every event type that implements //! the trait of the same name. -use call::answer::AnswerEvent; -use call::candidates::CandidatesEvent; -use call::hangup::HangupEvent; -use call::invite::InviteEvent; +use call::{ + answer::AnswerEvent, candidates::CandidatesEvent, hangup::HangupEvent, invite::InviteEvent, +}; use direct::DirectEvent; use presence::PresenceEvent; use receipt::ReceiptEvent; -use room::aliases::AliasesEvent; -use room::avatar::AvatarEvent; -use room::canonical_alias::CanonicalAliasEvent; -use room::create::CreateEvent; -use room::guest_access::GuestAccessEvent; -use room::history_visibility::HistoryVisibilityEvent; -use room::join_rules::JoinRulesEvent; -use room::member::MemberEvent; -use room::message::MessageEvent; -use room::name::NameEvent; -use room::pinned_events::PinnedEventsEvent; -use room::power_levels::PowerLevelsEvent; -use room::redaction::RedactionEvent; -use room::third_party_invite::ThirdPartyInviteEvent; -use room::topic::TopicEvent; +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, CustomRoomEvent, CustomStateEvent, EventType}; +use CustomEvent; +use CustomRoomEvent; +use CustomStateEvent; +use EventType; -use serde::de::Error; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use serde_json::{from_value, Value}; /// A basic event, room event, or state event. @@ -425,7 +419,8 @@ impl<'de> Deserialize<'de> for Event { }; Ok(Event::CustomState(event)) - } else if value.get("event_id").is_some() && value.get("room_id").is_some() + } else if value.get("event_id").is_some() + && value.get("room_id").is_some() && value.get("sender").is_some() { let event = match from_value::(value) { diff --git a/src/collections/only.rs b/src/collections/only.rs index 50e1d5e4..1ea1d9ca 100644 --- a/src/collections/only.rs +++ b/src/collections/only.rs @@ -1,24 +1,22 @@ //! Enums for heterogeneous collections of events, exclusive to event types that implement "at //! most" the trait of the same name. -use call::answer::AnswerEvent; -use call::candidates::CandidatesEvent; -use call::hangup::HangupEvent; -use call::invite::InviteEvent; -use direct::DirectEvent; -use presence::PresenceEvent; -use receipt::ReceiptEvent; -use room::message::MessageEvent; -use room::redaction::RedactionEvent; -use tag::TagEvent; -use typing::TypingEvent; -use {CustomEvent, CustomRoomEvent, EventType}; - -use serde::de::Error; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +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 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)] diff --git a/src/direct.rs b/src/direct.rs index f3f4c278..8f3d1362 100644 --- a/src/direct.rs +++ b/src/direct.rs @@ -22,9 +22,11 @@ mod tests { use ruma_identifiers::{RoomId, UserId}; use serde_json::{from_str, to_string}; - use super::super::EventType; - use collections; - use direct::{DirectEvent, DirectEventContent}; + use crate::{ + collections, + direct::{DirectEvent, DirectEventContent}, + EventType, + }; #[test] fn serialization() { diff --git a/src/lib.rs b/src/lib.rs index bbb8382a..3be19fde 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -110,8 +110,10 @@ extern crate serde_json; use std::fmt::{Debug, Display, Error as FmtError, Formatter, Result as FmtResult}; use ruma_identifiers::{EventId, RoomId, UserId}; -use serde::de::{Error as SerdeError, Visitor}; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{ + de::{Error as SerdeError, Visitor}, + Deserialize, Deserializer, Serialize, Serializer, +}; use serde_json::Value; #[macro_use] diff --git a/src/presence.rs b/src/presence.rs index 64a05187..44b3d64f 100644 --- a/src/presence.rs +++ b/src/presence.rs @@ -59,12 +59,13 @@ impl_enum! { #[cfg(test)] mod tests { - use serde_json::{from_str, to_string}; use std::convert::TryFrom; use ruma_identifiers::UserId; + use serde_json::{from_str, to_string}; + use super::{PresenceEvent, PresenceEventContent, PresenceState}; - use super::super::{EventType}; + use crate::EventType; /// Test serialization and deserialization of example m.presence event from the spec /// https://github.com/turt2live/matrix-doc/blob/master/event-schemas/examples/m.presence @@ -84,18 +85,9 @@ mod tests { let serialized_event = r#"{"content":{"avatar_url":"mxc://localhost:wefuiwegh8742w","currently_active":false,"last_active_ago":2478593,"presence":"online"},"type":"m.presence","sender":"@example:localhost"}"#; - assert_eq!( - to_string(&event).unwrap(), - serialized_event - ); + assert_eq!(to_string(&event).unwrap(), serialized_event); let deserialized_event = from_str::(serialized_event).unwrap(); - assert_eq!( - deserialized_event.content, - event.content - ); - assert_eq!( - deserialized_event.sender, - event.sender - ); + assert_eq!(deserialized_event.content, event.content); + assert_eq!(deserialized_event.sender, event.sender); } } diff --git a/src/room/message.rs b/src/room/message.rs index 4f884af3..e4763d8a 100644 --- a/src/room/message.rs +++ b/src/room/message.rs @@ -1,7 +1,6 @@ //! Types for the *m.room.message* event. -use serde::de::Error; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use serde_json::{from_value, Value}; use super::{ImageInfo, ThumbnailInfo}; @@ -396,17 +395,17 @@ mod tests { assert_eq!( from_str::( r#"{"body":"test","msgtype":"m.audio","url":"http://example.com/audio.mp3"}"# - ).unwrap(), + ) + .unwrap(), message_event_content ); } #[test] fn deserialization_failure() { - assert!( - from_str::( - r#"{"body":"test","msgtype":"m.location","url":"http://example.com/audio.mp3"}"# - ).is_err() - ); + assert!(from_str::( + r#"{"body":"test","msgtype":"m.location","url":"http://example.com/audio.mp3"}"# + ) + .is_err()); } } diff --git a/src/stripped.rs b/src/stripped.rs index 67755b25..b852e0f5 100644 --- a/src/stripped.rs +++ b/src/stripped.rs @@ -6,22 +6,17 @@ //! the other fields are otherwise inapplicable. use ruma_identifiers::UserId; -use serde::de::Error; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use serde_json::{from_value, Value}; -use room::aliases::AliasesEventContent; -use room::avatar::AvatarEventContent; -use room::canonical_alias::CanonicalAliasEventContent; -use room::create::CreateEventContent; -use room::guest_access::GuestAccessEventContent; -use room::history_visibility::HistoryVisibilityEventContent; -use room::join_rules::JoinRulesEventContent; -use room::member::MemberEventContent; -use room::name::NameEventContent; -use room::power_levels::PowerLevelsEventContent; -use room::third_party_invite::ThirdPartyInviteEventContent; -use room::topic::TopicEventContent; +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 EventType; /// A stripped-down version of a state event that is included along with some other events. @@ -265,8 +260,7 @@ mod tests { use serde_json::{from_str, to_string}; use super::{StrippedRoomTopic, StrippedState}; - use room::join_rules::JoinRule; - use room::topic::TopicEventContent; + use room::{join_rules::JoinRule, topic::TopicEventContent}; use EventType; #[test]