From d7c977e5930c42e5c2c08a1ae97827f4d7b03dbf Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Tue, 18 Aug 2020 03:36:05 +0200 Subject: [PATCH] Derive Default for lots of types --- ruma-appservice-api/src/event/push_events/v1.rs | 3 +++ ruma-appservice-api/src/lib.rs | 1 - .../src/query/query_room_alias/v1.rs | 3 +++ .../src/query/query_user_id/v1.rs | 3 +++ ruma-client-api/src/lib.rs | 1 - ruma-client-api/src/r0/alias/create_alias.rs | 1 + ruma-client-api/src/r0/alias/delete_alias.rs | 1 + ruma-client-api/src/r0/context/get_context.rs | 10 ++-------- ruma-client-api/src/r0/membership/ban_user.rs | 1 + ruma-client-api/src/r0/membership/forget_room.rs | 1 + ruma-client-api/src/r0/membership/kick_user.rs | 1 + ruma-client-api/src/r0/membership/leave_room.rs | 1 + ruma-client-api/src/r0/membership/unban_user.rs | 1 + .../src/r0/message/get_message_events.rs | 3 ++- ruma-client-api/src/r0/room/create_room.rs | 16 ++-------------- ruma-client-api/src/r0/search/search_events.rs | 4 ++-- ruma-client-api/src/r0/server/get_user_info.rs | 3 ++- .../src/r0/session/get_login_types.rs | 1 + ruma-client-api/src/r0/session/logout.rs | 2 ++ ruma-client-api/src/r0/session/logout_all.rs | 2 ++ ruma-client-api/src/r0/sync/sync_events.rs | 9 ++------- .../src/unversioned/discover_homeserver.rs | 1 + .../src/unversioned/get_supported_versions.rs | 1 + 23 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ruma-appservice-api/src/event/push_events/v1.rs b/ruma-appservice-api/src/event/push_events/v1.rs index d6c02ebe..4935385b 100644 --- a/ruma-appservice-api/src/event/push_events/v1.rs +++ b/ruma-appservice-api/src/event/push_events/v1.rs @@ -14,6 +14,7 @@ ruma_api! { requires_authentication: true, } + #[non_exhaustive] request: { /// The transaction ID for this set of events. /// @@ -26,6 +27,8 @@ ruma_api! { pub events: &'a [Raw], } + #[derive(Default)] + #[non_exhaustive] response: {} } diff --git a/ruma-appservice-api/src/lib.rs b/ruma-appservice-api/src/lib.rs index ab3495e0..cc1345a8 100644 --- a/ruma-appservice-api/src/lib.rs +++ b/ruma-appservice-api/src/lib.rs @@ -2,7 +2,6 @@ //! endpoint in the [Matrix](https://matrix.org/) application service API specification. These //! types can be shared by application service and server code. #![warn(missing_copy_implementations, missing_debug_implementations, missing_docs)] -#![allow(clippy::new_without_default)] pub mod event; pub mod query; diff --git a/ruma-appservice-api/src/query/query_room_alias/v1.rs b/ruma-appservice-api/src/query/query_room_alias/v1.rs index 2cd48f04..36ffbfed 100644 --- a/ruma-appservice-api/src/query/query_room_alias/v1.rs +++ b/ruma-appservice-api/src/query/query_room_alias/v1.rs @@ -13,12 +13,15 @@ ruma_api! { requires_authentication: true, } + #[non_exhaustive] request: { /// The room alias being queried. #[ruma_api(path)] pub room_alias: &'a RoomAliasId, } + #[derive(Default)] + #[non_exhaustive] response: {} } diff --git a/ruma-appservice-api/src/query/query_user_id/v1.rs b/ruma-appservice-api/src/query/query_user_id/v1.rs index 154ba02a..c49399f4 100644 --- a/ruma-appservice-api/src/query/query_user_id/v1.rs +++ b/ruma-appservice-api/src/query/query_user_id/v1.rs @@ -13,12 +13,15 @@ ruma_api! { requires_authentication: true, } + #[non_exhaustive] request: { /// The user ID being queried. #[ruma_api(path)] pub user_id: &'a UserId, } + #[derive(Default)] + #[non_exhaustive] response: {} } diff --git a/ruma-client-api/src/lib.rs b/ruma-client-api/src/lib.rs index 3e85504f..304146f6 100644 --- a/ruma-client-api/src/lib.rs +++ b/ruma-client-api/src/lib.rs @@ -3,7 +3,6 @@ //! shared by client and server code. #![warn(missing_copy_implementations, missing_debug_implementations, missing_docs)] -#![allow(clippy::new_without_default)] pub mod error; pub mod r0; diff --git a/ruma-client-api/src/r0/alias/create_alias.rs b/ruma-client-api/src/r0/alias/create_alias.rs index bbb95e1f..96fc1c9b 100644 --- a/ruma-client-api/src/r0/alias/create_alias.rs +++ b/ruma-client-api/src/r0/alias/create_alias.rs @@ -23,6 +23,7 @@ ruma_api! { pub room_id: &'a RoomId, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/alias/delete_alias.rs b/ruma-client-api/src/r0/alias/delete_alias.rs index 79ac592f..0e261074 100644 --- a/ruma-client-api/src/r0/alias/delete_alias.rs +++ b/ruma-client-api/src/r0/alias/delete_alias.rs @@ -20,6 +20,7 @@ ruma_api! { pub room_alias: &'a RoomAliasId, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/context/get_context.rs b/ruma-client-api/src/r0/context/get_context.rs index 94df7efe..f9d7ffb1 100644 --- a/ruma-client-api/src/r0/context/get_context.rs +++ b/ruma-client-api/src/r0/context/get_context.rs @@ -45,6 +45,7 @@ ruma_api! { pub filter: Option>, } + #[derive(Default)] #[non_exhaustive] response: { /// A token that can be used to paginate backwards with. @@ -87,14 +88,7 @@ impl<'a> Request<'a> { impl Response { /// Creates an empty `Response`. pub fn new() -> Self { - Self { - start: None, - end: None, - events_before: Vec::new(), - event: None, - events_after: Vec::new(), - state: Vec::new(), - } + Default::default() } } diff --git a/ruma-client-api/src/r0/membership/ban_user.rs b/ruma-client-api/src/r0/membership/ban_user.rs index fd01a149..d4a9bea8 100644 --- a/ruma-client-api/src/r0/membership/ban_user.rs +++ b/ruma-client-api/src/r0/membership/ban_user.rs @@ -27,6 +27,7 @@ ruma_api! { pub reason: Option<&'a str>, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/membership/forget_room.rs b/ruma-client-api/src/r0/membership/forget_room.rs index 28c4194e..805fa86e 100644 --- a/ruma-client-api/src/r0/membership/forget_room.rs +++ b/ruma-client-api/src/r0/membership/forget_room.rs @@ -20,6 +20,7 @@ ruma_api! { pub room_id: &'a RoomId, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/membership/kick_user.rs b/ruma-client-api/src/r0/membership/kick_user.rs index c97e6553..55f34a0d 100644 --- a/ruma-client-api/src/r0/membership/kick_user.rs +++ b/ruma-client-api/src/r0/membership/kick_user.rs @@ -27,6 +27,7 @@ ruma_api! { pub reason: Option<&'a str>, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/membership/leave_room.rs b/ruma-client-api/src/r0/membership/leave_room.rs index ced581c6..90be5ad4 100644 --- a/ruma-client-api/src/r0/membership/leave_room.rs +++ b/ruma-client-api/src/r0/membership/leave_room.rs @@ -20,6 +20,7 @@ ruma_api! { pub room_id: &'a RoomId, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/membership/unban_user.rs b/ruma-client-api/src/r0/membership/unban_user.rs index c30dd51f..1f7872ba 100644 --- a/ruma-client-api/src/r0/membership/unban_user.rs +++ b/ruma-client-api/src/r0/membership/unban_user.rs @@ -23,6 +23,7 @@ ruma_api! { pub user_id: &'a UserId, } + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/message/get_message_events.rs b/ruma-client-api/src/r0/message/get_message_events.rs index 8d724a79..a189b3c3 100644 --- a/ruma-client-api/src/r0/message/get_message_events.rs +++ b/ruma-client-api/src/r0/message/get_message_events.rs @@ -63,6 +63,7 @@ ruma_api! { pub filter: Option>, } + #[derive(Default)] #[non_exhaustive] response: { /// The token the pagination starts from. @@ -97,7 +98,7 @@ impl<'a> Request<'a> { impl Response { /// Creates an empty `Response`. pub fn new() -> Self { - Self { start: None, end: None, chunk: Vec::new(), state: Vec::new() } + Default::default() } } diff --git a/ruma-client-api/src/r0/room/create_room.rs b/ruma-client-api/src/r0/room/create_room.rs index 38c9a1e4..414ea2bd 100644 --- a/ruma-client-api/src/r0/room/create_room.rs +++ b/ruma-client-api/src/r0/room/create_room.rs @@ -26,6 +26,7 @@ ruma_api! { requires_authentication: true, } + #[derive(Default)] #[non_exhaustive] request: { /// Extra keys to be added to the content of the `m.room.create`. @@ -98,20 +99,7 @@ ruma_api! { impl Request { /// Creates a `Request` will all-default parameters. pub fn new() -> Self { - Self { - creation_content: None, - initial_state: Vec::new(), - invite: Vec::new(), - invite_3pid: Vec::new(), - is_direct: None, - name: None, - power_level_content_override: None, - preset: None, - room_alias_name: None, - room_version: None, - topic: None, - visibility: None, - } + Default::default() } } diff --git a/ruma-client-api/src/r0/search/search_events.rs b/ruma-client-api/src/r0/search/search_events.rs index da646c33..5aaa887d 100644 --- a/ruma-client-api/src/r0/search/search_events.rs +++ b/ruma-client-api/src/r0/search/search_events.rs @@ -57,7 +57,7 @@ impl Response { } /// Categories of events that can be searched for. -#[derive(Clone, Debug, Outgoing, Serialize)] +#[derive(Clone, Debug, Default, Outgoing, Serialize)] #[non_exhaustive] pub struct Categories<'a> { /// Criteria for searching room events. @@ -68,7 +68,7 @@ pub struct Categories<'a> { impl<'a> Categories<'a> { /// Creates an empty `Categories`. pub fn new() -> Self { - Self { room_events: None } + Default::default() } } diff --git a/ruma-client-api/src/r0/server/get_user_info.rs b/ruma-client-api/src/r0/server/get_user_info.rs index 134497c2..0159c4c4 100644 --- a/ruma-client-api/src/r0/server/get_user_info.rs +++ b/ruma-client-api/src/r0/server/get_user_info.rs @@ -23,6 +23,7 @@ ruma_api! { pub user_id: &'a UserId, } + #[derive(Default)] #[non_exhaustive] response: { /// The Matrix user ID of the user. @@ -47,7 +48,7 @@ impl<'a> Request<'a> { impl Response { /// Creates an empty `Response`. pub fn new() -> Self { - Self { user_id: None, devices: BTreeMap::new() } + Default::default() } } diff --git a/ruma-client-api/src/r0/session/get_login_types.rs b/ruma-client-api/src/r0/session/get_login_types.rs index aede69af..16b40c55 100644 --- a/ruma-client-api/src/r0/session/get_login_types.rs +++ b/ruma-client-api/src/r0/session/get_login_types.rs @@ -13,6 +13,7 @@ ruma_api! { requires_authentication: false, } + #[derive(Default)] #[non_exhaustive] request: {} diff --git a/ruma-client-api/src/r0/session/logout.rs b/ruma-client-api/src/r0/session/logout.rs index 921907ab..cdf5816b 100644 --- a/ruma-client-api/src/r0/session/logout.rs +++ b/ruma-client-api/src/r0/session/logout.rs @@ -12,9 +12,11 @@ ruma_api! { requires_authentication: true, } + #[derive(Default)] #[non_exhaustive] request: {} + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/session/logout_all.rs b/ruma-client-api/src/r0/session/logout_all.rs index b413e28b..9c2a41d9 100644 --- a/ruma-client-api/src/r0/session/logout_all.rs +++ b/ruma-client-api/src/r0/session/logout_all.rs @@ -12,9 +12,11 @@ ruma_api! { requires_authentication: true, } + #[derive(Default)] #[non_exhaustive] request: {} + #[derive(Default)] #[non_exhaustive] response: {} diff --git a/ruma-client-api/src/r0/sync/sync_events.rs b/ruma-client-api/src/r0/sync/sync_events.rs index 6b7260ca..e33d5e56 100644 --- a/ruma-client-api/src/r0/sync/sync_events.rs +++ b/ruma-client-api/src/r0/sync/sync_events.rs @@ -24,6 +24,7 @@ ruma_api! { requires_authentication: true, } + #[derive(Default)] #[non_exhaustive] request: { /// A filter represented either as its full JSON definition or the ID of a saved filter. @@ -98,13 +99,7 @@ ruma_api! { impl<'a> Request<'a> { /// Creates an empty `Request`. pub fn new() -> Self { - Self { - filter: None, - since: None, - full_state: false, - set_presence: Default::default(), - timeout: None, - } + Default::default() } } diff --git a/ruma-client-api/src/unversioned/discover_homeserver.rs b/ruma-client-api/src/unversioned/discover_homeserver.rs index a0f9c4b0..028d5968 100644 --- a/ruma-client-api/src/unversioned/discover_homeserver.rs +++ b/ruma-client-api/src/unversioned/discover_homeserver.rs @@ -13,6 +13,7 @@ ruma_api! { requires_authentication: false, } + #[derive(Default)] #[non_exhaustive] request: {} diff --git a/ruma-client-api/src/unversioned/get_supported_versions.rs b/ruma-client-api/src/unversioned/get_supported_versions.rs index 14727f23..c3d0295c 100644 --- a/ruma-client-api/src/unversioned/get_supported_versions.rs +++ b/ruma-client-api/src/unversioned/get_supported_versions.rs @@ -14,6 +14,7 @@ ruma_api! { requires_authentication: false, } + #[derive(Default)] #[non_exhaustive] request: {}