From f900dbea468e822c5a510a72ecc6367549443927 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sat, 9 Dec 2023 18:47:16 +0200 Subject: [PATCH] Use cargo-derivefmt to sort derives alphabetically Used https://github.com/dcchut/cargo-derivefmt With command: cargo install --locked \ --git https://github.com/dcchut/cargo-derivefmt \ --bin cargo-derivefmt \ --rev 2ff93de7fb418180458dd1ba27e5655607c23ab6 Since it's not on crates.io at the moment. Sample diff: -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] Signed-off-by: Manos Pitsidianakis --- meli/src/accounts.rs | 8 +-- meli/src/args.rs | 2 +- meli/src/command.rs | 6 +- meli/src/command/error.rs | 2 +- meli/src/components.rs | 10 ++-- meli/src/conf.rs | 18 +++--- meli/src/conf/composing.rs | 6 +- meli/src/conf/listing.rs | 2 +- meli/src/conf/notifications.rs | 2 +- meli/src/conf/pager.rs | 2 +- meli/src/conf/pgp.rs | 2 +- meli/src/conf/shortcuts.rs | 2 +- meli/src/conf/tags.rs | 2 +- meli/src/conf/terminal.rs | 4 +- meli/src/conf/themes.rs | 24 ++++---- meli/src/jobs.rs | 2 +- meli/src/jobs_view.rs | 2 +- meli/src/mail/compose.rs | 2 +- meli/src/mail/compose/edit_attachments.rs | 2 +- meli/src/mail/compose/gpg.rs | 2 +- meli/src/mail/listing.rs | 18 +++--- meli/src/mail/view/state.rs | 2 +- meli/src/mail/view/thread.rs | 2 +- meli/src/mail/view/types.rs | 8 +-- meli/src/mailbox_management.rs | 4 +- meli/src/notifications.rs | 2 +- meli/src/state.rs | 2 +- meli/src/terminal/cells.rs | 10 ++-- meli/src/terminal/color.rs | 4 +- meli/src/terminal/embedded/escape_codes.rs | 2 +- meli/src/terminal/embedded/terminal.rs | 6 +- meli/src/terminal/keys.rs | 10 ++-- meli/src/terminal/position.rs | 2 +- meli/src/terminal/screen.rs | 4 +- meli/src/terminal/text_editing.rs | 2 +- meli/src/types.rs | 6 +- meli/src/utilities.rs | 4 +- meli/src/utilities/dialogs.rs | 2 +- meli/src/utilities/pager.rs | 2 +- meli/src/utilities/tables.rs | 10 ++-- meli/src/utilities/widgets.rs | 10 ++-- melib/src/addressbook.rs | 6 +- melib/src/addressbook/vcard.rs | 2 +- melib/src/backends.rs | 20 +++---- melib/src/collection.rs | 2 +- melib/src/conf.rs | 6 +- melib/src/email.rs | 4 +- melib/src/email/address.rs | 16 ++--- melib/src/email/attachment_types.rs | 14 ++--- melib/src/email/attachments.rs | 4 +- melib/src/email/compose.rs | 2 +- melib/src/email/headers.rs | 2 +- melib/src/email/headers/names.rs | 8 +-- melib/src/email/headers/standards.rs | 2 +- melib/src/email/list_management.rs | 4 +- melib/src/email/mailto.rs | 2 +- melib/src/email/pgp.rs | 6 +- melib/src/error.rs | 6 +- melib/src/gpgme/bindings.rs | 68 +++++++++++----------- melib/src/gpgme/mod.rs | 2 +- melib/src/imap/cache.rs | 2 +- melib/src/imap/connection.rs | 8 +-- melib/src/imap/mailbox.rs | 2 +- melib/src/imap/managesieve.rs | 2 +- melib/src/imap/mod.rs | 4 +- melib/src/imap/operations.rs | 2 +- melib/src/imap/protocol_parser.rs | 6 +- melib/src/jmap/mailbox.rs | 2 +- melib/src/jmap/mod.rs | 2 +- melib/src/jmap/objects/email.rs | 26 ++++----- melib/src/jmap/objects/email/import.rs | 10 ++-- melib/src/jmap/objects/identity.rs | 4 +- melib/src/jmap/objects/mailbox.rs | 8 +-- melib/src/jmap/objects/submission.rs | 16 ++--- melib/src/jmap/objects/thread.rs | 6 +- melib/src/jmap/operations.rs | 2 +- melib/src/jmap/protocol.rs | 2 +- melib/src/jmap/rfc8620.rs | 38 ++++++------ melib/src/jmap/rfc8620/argument.rs | 2 +- melib/src/jmap/rfc8620/comparator.rs | 2 +- melib/src/jmap/rfc8620/filters.rs | 6 +- melib/src/jmap/session.rs | 4 +- melib/src/lib.rs | 2 +- melib/src/maildir/mod.rs | 2 +- melib/src/mbox/mod.rs | 4 +- melib/src/nntp/connection.rs | 4 +- melib/src/nntp/mailbox.rs | 2 +- melib/src/nntp/mod.rs | 2 +- melib/src/nntp/operations.rs | 2 +- melib/src/notmuch/bindings.rs | 24 ++++---- melib/src/notmuch/mod.rs | 2 +- melib/src/search.rs | 2 +- melib/src/sieve.rs | 22 +++---- melib/src/smtp.rs | 20 +++---- melib/src/text_processing/line_break.rs | 10 ++-- melib/src/text_processing/types.rs | 4 +- melib/src/thread.rs | 2 +- melib/src/utils/datetime.rs | 6 +- melib/src/utils/logging.rs | 4 +- melib/src/utils/mod.rs | 6 +- melib/src/utils/sqlite3.rs | 2 +- 101 files changed, 334 insertions(+), 334 deletions(-) diff --git a/meli/src/accounts.rs b/meli/src/accounts.rs index 011fd3a0..a3309224 100644 --- a/meli/src/accounts.rs +++ b/meli/src/accounts.rs @@ -88,7 +88,7 @@ macro_rules! is_variant { }; } -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub enum MailboxStatus { Available, Failed(Error), @@ -103,7 +103,7 @@ impl MailboxStatus { is_variant! { is_parsing, Parsing(_, _) } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct MailboxEntry { pub status: MailboxStatus, pub name: String, @@ -168,7 +168,7 @@ impl MailboxEntry { } } -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub enum IsOnline { #[default] Uninit, @@ -461,7 +461,7 @@ impl Drop for Account { } } -#[derive(Serialize, Debug, Clone, Default)] +#[derive(Clone, Debug, Default, Serialize)] pub struct MailboxNode { pub hash: MailboxHash, pub depth: usize, diff --git a/meli/src/args.rs b/meli/src/args.rs index 9db2dc6d..f9771f0b 100644 --- a/meli/src/args.rs +++ b/meli/src/args.rs @@ -115,7 +115,7 @@ pub mod manpages { } } - #[derive(Copy, Clone, Debug)] + #[derive(Clone, Copy, Debug)] /// Choose manpage pub enum ManPages { /// meli(1) diff --git a/meli/src/command.rs b/meli/src/command.rs index 8e100146..0f55aad0 100644 --- a/meli/src/command.rs +++ b/meli/src/command.rs @@ -111,7 +111,7 @@ pub fn quoted_argument(input: &[u8]) -> IResult<&[u8], &str> { } } -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct TokenStream { tokens: &'static [TokenAdicity], } @@ -225,7 +225,7 @@ impl TokenStream { /// `Token` wrapper that defines how many times a token is expected to be /// repeated -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub enum TokenAdicity { ZeroOrOne(Token), ZeroOrMore(Token), @@ -245,7 +245,7 @@ impl TokenAdicity { } /// A token encountered in the UI's command execution bar -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub enum Token { Literal(&'static str), Filepath, diff --git a/meli/src/command/error.rs b/meli/src/command/error.rs index 928628e6..942e2dbd 100644 --- a/meli/src/command/error.rs +++ b/meli/src/command/error.rs @@ -21,7 +21,7 @@ use super::*; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub enum CommandError { Parsing { inner: Cow<'static, str>, diff --git a/meli/src/components.rs b/meli/src/components.rs index 9cd290c8..5e146b40 100644 --- a/meli/src/components.rs +++ b/meli/src/components.rs @@ -31,7 +31,7 @@ use uuid::Uuid; use super::*; -#[derive(Clone, Copy, Eq, Deserialize, Hash, Ord, PartialOrd, PartialEq, Serialize)] +#[derive(Clone, Copy, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)] #[repr(transparent)] pub struct ComponentId(Uuid); @@ -98,7 +98,7 @@ impl ExtendShortcutsMaps for ShortcutMaps { } } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum PageMovement { Up(usize), Right(usize), @@ -110,14 +110,14 @@ pub enum PageMovement { End, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct ScrollContext { pub shown_lines: usize, pub total_lines: usize, pub has_more_lines: bool, } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum ScrollUpdate { End(ComponentId), Update { @@ -266,7 +266,7 @@ impl Default for ComponentAttr { } } -#[derive(Eq, PartialEq, Debug, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct ComponentPath { pub id: ComponentId, pub tail: SmallVec<[ComponentId; 8]>, diff --git a/meli/src/conf.rs b/meli/src/conf.rs index 21dc4af1..334f60b8 100644 --- a/meli/src/conf.rs +++ b/meli/src/conf.rs @@ -113,7 +113,7 @@ macro_rules! mailbox_settings { }}; } -#[derive(Default, Debug, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct MailUIConf { #[serde(default)] @@ -136,7 +136,7 @@ pub struct MailUIConf { pub pgp: PGPSettingsOverride, } -#[derive(Debug, Default, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(default)] pub struct FileMailboxConf { #[serde(flatten)] @@ -158,7 +158,7 @@ impl FileMailboxConf { } use crate::conf::deserializers::extra_settings; -#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct FileAccount { pub root_mailbox: String, pub format: String, @@ -204,7 +204,7 @@ impl FileAccount { } } -#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct FileSettings { pub accounts: IndexMap, @@ -227,7 +227,7 @@ pub struct FileSettings { pub log: LogSettings, } -#[derive(Debug, Clone, Default, Serialize)] +#[derive(Clone, Debug, Default, Serialize)] pub struct AccountConf { pub account: AccountSettings, pub conf: FileAccount, @@ -573,7 +573,7 @@ This is required so that you don't accidentally start meli and find out later th } } -#[derive(Debug, Clone, Default, Serialize)] +#[derive(Clone, Debug, Default, Serialize)] pub struct Settings { pub accounts: IndexMap, pub pager: PagerSettings, @@ -646,7 +646,7 @@ impl Settings { } } -#[derive(Copy, Debug, Clone, Hash, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)] pub enum IndexStyle { Plain, Threaded, @@ -786,7 +786,7 @@ impl Serialize for IndexStyle { } } -#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum SearchBackend { None, #[default] @@ -1001,7 +1001,7 @@ mod pp { } } -#[derive(Debug, Clone, Default, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct LogSettings { #[serde(default)] diff --git a/meli/src/conf/composing.rs b/meli/src/conf/composing.rs index 85e4e412..279c1f89 100644 --- a/meli/src/conf/composing.rs +++ b/meli/src/conf/composing.rs @@ -30,7 +30,7 @@ use super::{ }; /// Settings for writing and sending new e-mail -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct ComposingSettings { /// A command to pipe new emails to @@ -176,7 +176,7 @@ pub mod strings { named_unit_variant!(server_submission); } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(untagged)] pub enum SendMail { #[cfg(feature = "smtp")] @@ -188,7 +188,7 @@ pub enum SendMail { /// Shell command compose hooks (See /// [`crate::mail::compose::hooks::Hook`]) -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct ComposeHook { #[serde(deserialize_with = "non_empty_string")] diff --git a/meli/src/conf/listing.rs b/meli/src/conf/listing.rs index 43bc2b78..4d08ff4d 100644 --- a/meli/src/conf/listing.rs +++ b/meli/src/conf/listing.rs @@ -55,7 +55,7 @@ use super::{default_vals::*, DotAddressable, IndexStyle}; /// const HAS_SIBLING_LEAF: &str = " ├─"; /// const NO_SIBLING_LEAF: &str = " ╰─"; /// ``` -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct ListingSettings { /// Number of context lines when going to next page. diff --git a/meli/src/conf/notifications.rs b/meli/src/conf/notifications.rs index b49741ab..2d5100c6 100644 --- a/meli/src/conf/notifications.rs +++ b/meli/src/conf/notifications.rs @@ -27,7 +27,7 @@ use super::{ }; /// Settings for the notifications function. -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct NotificationsSettings { /// Enable notifications. diff --git a/meli/src/conf/pager.rs b/meli/src/conf/pager.rs index e4c6e3f0..f19428f0 100644 --- a/meli/src/conf/pager.rs +++ b/meli/src/conf/pager.rs @@ -26,7 +26,7 @@ use melib::{Error, Result, ToggleFlag}; use super::{default_vals::*, deserializers::*, DotAddressable}; /// Settings for the pager function. -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct PagerSettings { /// Number of context lines when going to next page. diff --git a/meli/src/conf/pgp.rs b/meli/src/conf/pgp.rs index 5bf23d96..1954a59c 100644 --- a/meli/src/conf/pgp.rs +++ b/meli/src/conf/pgp.rs @@ -24,7 +24,7 @@ use melib::conf::ToggleFlag; use super::default_vals::*; /// Settings for digital signing and encryption -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct PGPSettings { /// auto verify signed e-mail according to RFC3156 diff --git a/meli/src/conf/shortcuts.rs b/meli/src/conf/shortcuts.rs index ea4f9e01..73c7f6fe 100644 --- a/meli/src/conf/shortcuts.rs +++ b/meli/src/conf/shortcuts.rs @@ -35,7 +35,7 @@ macro_rules! shortcut { }; } -#[derive(Default, Debug, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct Shortcuts { #[serde(default)] diff --git a/meli/src/conf/tags.rs b/meli/src/conf/tags.rs index 4c06aada..3f627620 100644 --- a/meli/src/conf/tags.rs +++ b/meli/src/conf/tags.rs @@ -29,7 +29,7 @@ use serde::{Deserialize, Deserializer}; use super::DotAddressable; use crate::terminal::Color; -#[derive(Default, Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct TagsSettings { #[serde(default, deserialize_with = "tag_color_de")] diff --git a/meli/src/conf/terminal.rs b/meli/src/conf/terminal.rs index 4af1a23f..8604aa76 100644 --- a/meli/src/conf/terminal.rs +++ b/meli/src/conf/terminal.rs @@ -26,7 +26,7 @@ use melib::{Error, Result, ToggleFlag}; use super::{deserializers::non_empty_opt_string, DotAddressable, Themes}; /// Settings for terminal display -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(default, deny_unknown_fields)] pub struct TerminalSettings { /// light, dark @@ -109,7 +109,7 @@ impl DotAddressable for TerminalSettings { } } -#[derive(Debug, Deserialize, Clone, Serialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(untagged)] pub enum ProgressSpinnerSequence { Integer(usize), diff --git a/meli/src/conf/themes.rs b/meli/src/conf/themes.rs index 5a323918..be663813 100644 --- a/meli/src/conf/themes.rs +++ b/meli/src/conf/themes.rs @@ -323,7 +323,7 @@ const DEFAULT_KEYS: &[&str] = &[ ]; /// `ThemeAttributeInner` but with the links resolved. -#[derive(Debug, PartialEq, Eq, Clone, Default, Copy, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] #[serde(deny_unknown_fields)] pub struct ThemeAttribute { pub fg: Color, @@ -332,7 +332,7 @@ pub struct ThemeAttribute { } /// Holds {fore,back}ground color and terminal attribute values. -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(deny_unknown_fields)] pub struct ThemeAttributeInner { #[serde(default)] @@ -353,7 +353,7 @@ impl Default for ThemeAttributeInner { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub enum ColorField { // Like self, i.e. either Fg or Bg LikeSelf, @@ -376,7 +376,7 @@ impl ThemeLink for Attr { type LinkType = (); } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] /// Holds either an actual value or refers to the key name of the attribute that /// holds the value. enum ThemeValue { @@ -501,14 +501,14 @@ impl<'de> Deserialize<'de> for ThemeValue { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Themes { pub light: Theme, pub dark: Theme, pub other_themes: IndexMap, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Theme { color_aliases: IndexMap, ThemeValue>, attr_aliases: IndexMap, ThemeValue>, @@ -533,7 +533,7 @@ mod regexp { #[derive(Clone)] pub struct RegexpWrapper(pub pcre2::bytes::Regex); - #[derive(Debug, Clone)] + #[derive(Clone, Debug)] pub(super) struct TextFormatterSetting { pub(super) regexp: RegexpWrapper, pub(super) fg: Option>, @@ -542,7 +542,7 @@ mod regexp { pub(super) priority: u8, } - #[derive(Debug, Clone)] + #[derive(Clone, Debug)] pub struct TextFormatter<'r> { pub regexp: &'r RegexpWrapper, pub tag: FormatTag, @@ -784,7 +784,7 @@ impl<'de> Deserialize<'de> for Themes { #[serde(flatten, default)] other_themes: IndexMap, } - #[derive(Deserialize, Default)] + #[derive(Default, Deserialize)] struct ThemeOptions { #[serde(default)] color_aliases: IndexMap, ThemeValue>, @@ -797,7 +797,7 @@ impl<'de> Deserialize<'de> for Themes { keys: IndexMap, ThemeAttributeInnerOptions>, } #[cfg(feature = "regexp")] - #[derive(Deserialize, Default)] + #[derive(Default, Deserialize)] struct RegexpOptions { #[serde(default = "false_val")] caseless: bool, @@ -816,7 +816,7 @@ impl<'de> Deserialize<'de> for Themes { #[serde(flatten)] rest: ThemeAttributeInnerOptions, } - #[derive(Deserialize, Default)] + #[derive(Default, Deserialize)] #[serde(deny_unknown_fields)] struct ThemeAttributeInnerOptions { #[serde(default)] @@ -1815,7 +1815,7 @@ impl Serialize for Themes { /* Check Theme linked values for cycles */ fn is_cyclic(theme: &Theme) -> std::result::Result<(), String> { - #[derive(Hash, Copy, Clone, PartialEq, Eq)] + #[derive(Clone, Copy, Eq, Hash, PartialEq)] enum Course { Fg, Bg, diff --git a/meli/src/jobs.rs b/meli/src/jobs.rs index 2f85c403..233bae00 100644 --- a/meli/src/jobs.rs +++ b/meli/src/jobs.rs @@ -110,7 +110,7 @@ pub struct MeliTask { timer: bool, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] /// A spawned future's metadata for book-keeping. pub struct JobMetadata { pub id: JobId, diff --git a/meli/src/jobs_view.rs b/meli/src/jobs_view.rs index 08a23fc9..8aa0394c 100644 --- a/meli/src/jobs_view.rs +++ b/meli/src/jobs_view.rs @@ -32,7 +32,7 @@ use crate::{ }, }; -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] enum Column { _0 = 0, diff --git a/meli/src/mail/compose.rs b/meli/src/mail/compose.rs index 58819ee8..7dab1c5c 100644 --- a/meli/src/mail/compose.rs +++ b/meli/src/mail/compose.rs @@ -47,7 +47,7 @@ use edit_attachments::*; pub mod hooks; -#[derive(Debug, PartialEq, Eq)] +#[derive(Debug, Eq, PartialEq)] enum Cursor { Headers, Body, diff --git a/meli/src/mail/compose/edit_attachments.rs b/meli/src/mail/compose/edit_attachments.rs index ed0e1d0a..92adb677 100644 --- a/meli/src/mail/compose/edit_attachments.rs +++ b/meli/src/mail/compose/edit_attachments.rs @@ -21,7 +21,7 @@ use super::*; -#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum EditAttachmentCursor { AttachmentNo(usize), #[default] diff --git a/meli/src/mail/compose/gpg.rs b/meli/src/mail/compose/gpg.rs index 17127e57..50ee920e 100644 --- a/meli/src/mail/compose/gpg.rs +++ b/meli/src/mail/compose/gpg.rs @@ -247,7 +247,7 @@ impl Component for KeySelection { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct GpgComposeState { pub sign_mail: ToggleFlag, pub encrypt_mail: ToggleFlag, diff --git a/meli/src/mail/listing.rs b/meli/src/mail/listing.rs index da8ece12..594534f3 100644 --- a/meli/src/mail/listing.rs +++ b/meli/src/mail/listing.rs @@ -245,14 +245,14 @@ pub use self::plain::*; mod offline; pub use self::offline::*; -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub enum Focus { None, Entry, EntryFullscreen, } -#[derive(Debug, Copy, PartialEq, Eq, Clone, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum Modifier { #[default] SymmetricDifference, @@ -469,7 +469,7 @@ column_str!(struct SubjectString(String)); column_str!(struct FlagString(String)); column_str!(struct TagString(String, SmallVec<[Option; 8]>)); -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] struct MailboxMenuEntry { depth: usize, indentation: u32, @@ -953,19 +953,19 @@ impl ListingComponent { } } -#[derive(PartialEq, Eq, Debug)] +#[derive(Debug, Eq, PartialEq)] enum ListingFocus { Menu, Mailbox, } -#[derive(PartialEq, Eq, Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] struct CursorPos { account: usize, menu: MenuEntryCursor, } -#[derive(PartialEq, Eq, Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] enum MenuEntryCursor { Status, Mailbox(usize), @@ -983,7 +983,7 @@ impl std::ops::Sub for isize { } } -#[derive(PartialEq, Eq, Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] enum ShowMenuScrollbar { Never, True, @@ -2637,7 +2637,7 @@ impl Listing { /// Print a single account in the menu area. fn print_account(&mut self, mut area: Area, aidx: usize, context: &mut Context) -> usize { let account_y = self.menu.area().height() - area.height(); - #[derive(Copy, Debug, Clone)] + #[derive(Clone, Copy, Debug)] struct Line { collapsed: bool, depth: usize, @@ -3158,7 +3158,7 @@ impl Listing { } } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum ListingMessage { FocusUpdate { new_value: Focus, diff --git a/meli/src/mail/view/state.rs b/meli/src/mail/view/state.rs index bcb70b74..77da42b4 100644 --- a/meli/src/mail/view/state.rs +++ b/meli/src/mail/view/state.rs @@ -24,7 +24,7 @@ use melib::{text_processing::Truncate, Envelope, Error, Mail, Result}; use super::{EnvelopeView, MailView, ViewSettings}; use crate::{jobs::JoinHandle, mailbox_settings, Component, Context, ShortcutMaps, UIEvent}; -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq)] pub enum PendingReplyAction { Reply, ReplyToAuthor, diff --git a/meli/src/mail/view/thread.rs b/meli/src/mail/view/thread.rs index 3d854375..4780dc8e 100644 --- a/meli/src/mail/view/thread.rs +++ b/meli/src/mail/view/thread.rs @@ -43,7 +43,7 @@ struct ThreadEntry { mailview: Box, } -#[derive(Debug, Default, Copy, Clone)] +#[derive(Clone, Copy, Debug, Default)] pub enum ThreadViewFocus { #[default] None, diff --git a/meli/src/mail/view/types.rs b/meli/src/mail/view/types.rs index 63ea9ccb..6a13b726 100644 --- a/meli/src/mail/view/types.rs +++ b/meli/src/mail/view/types.rs @@ -29,7 +29,7 @@ use crate::{ ShortcutMap, ThemeAttribute, UIDialog, }; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct ViewSettings { pub pager_filter: Option, pub html_filter: Option, @@ -67,13 +67,13 @@ impl Default for ViewSettings { } } -#[derive(Eq, PartialEq, Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum LinkKind { Url, Email, } -#[derive(Eq, PartialEq, Clone, Debug)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct Link { pub start: usize, pub end: usize, @@ -98,7 +98,7 @@ impl From<&ForceCharset> for Option { } } -#[derive(PartialEq, Eq, Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum Source { Decoded, Raw, diff --git a/meli/src/mailbox_management.rs b/meli/src/mailbox_management.rs index 05c41be6..e53d829e 100644 --- a/meli/src/mailbox_management.rs +++ b/meli/src/mailbox_management.rs @@ -26,7 +26,7 @@ use melib::{backends::AccountHash, SortOrder}; use super::*; use crate::{accounts::MailboxEntry, melib::text_processing::TextProcessing}; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] enum MailboxAction { Rename, Move, @@ -41,7 +41,7 @@ enum ViewMode { Action(UIDialog), } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] enum Column { _0 = 0, diff --git a/meli/src/notifications.rs b/meli/src/notifications.rs index 70c4fe94..800569a6 100644 --- a/meli/src/notifications.rs +++ b/meli/src/notifications.rs @@ -176,7 +176,7 @@ mod dbus { } /// Passes notifications to a user defined shell command -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct NotificationCommand { id: ComponentId, } diff --git a/meli/src/state.rs b/meli/src/state.rs index 7aac8c12..243ca68b 100644 --- a/meli/src/state.rs +++ b/meli/src/state.rs @@ -110,7 +110,7 @@ impl InputHandler { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct MainLoopHandler { pub sender: Sender, pub job_executor: Arc, diff --git a/meli/src/terminal/cells.rs b/meli/src/terminal/cells.rs index 5667bbf4..952349b8 100644 --- a/meli/src/terminal/cells.rs +++ b/meli/src/terminal/cells.rs @@ -43,7 +43,7 @@ use crate::{state::Context, ThemeAttribute}; /// /// See `CellBuffer::scroll_up` and `CellBuffer::scroll_down` for an explanation /// of how `xterm` scrolling works. -#[derive(Debug, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] pub struct ScrollRegion { pub top: usize, pub bottom: usize, @@ -59,7 +59,7 @@ pub struct ScrollRegion { /// The first index, `Cellbuffer[y]`, corresponds to a row, and thus the y-axis. /// The second index, `Cellbuffer[y][x]`, corresponds to a column within a row /// and thus the x-axis. -#[derive(Clone, PartialEq, Eq)] +#[derive(Clone, Eq, PartialEq)] pub struct CellBuffer { pub cols: usize, pub rows: usize, @@ -806,7 +806,7 @@ impl std::fmt::Display for CellBuffer { /// A single point on a terminal display. /// /// A `Cell` contains a character and style. -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct Cell { ch: char, @@ -1777,7 +1777,7 @@ impl KMP for CellBuffer { } } -#[derive(Debug, Default, Copy, Hash, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)] pub struct FormatTag { pub fg: Option, pub bg: Option, @@ -1817,7 +1817,7 @@ impl FormatTag { } } -#[derive(Debug, Copy, Hash, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub enum WidgetWidth { Unset, Hold(usize), diff --git a/meli/src/terminal/color.rs b/meli/src/terminal/color.rs index cefff521..6d8968f4 100644 --- a/meli/src/terminal/color.rs +++ b/meli/src/terminal/color.rs @@ -49,7 +49,7 @@ use termion::color::{AnsiValue, Rgb as TermionRgb}; /// // Basic colors are also 8-bit colors (but not vice-versa). /// assert_eq!(red.as_byte(), fancy.as_byte()) /// ``` -#[derive(Hash, Debug, Copy, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)] pub enum Color { Black, Red, @@ -447,7 +447,7 @@ impl<'de> Deserialize<'de> for Color { #[test] fn test_color_de() { - #[derive(Debug, Deserialize, PartialEq, Eq)] + #[derive(Debug, Deserialize, Eq, PartialEq)] struct V { k: Color, } diff --git a/meli/src/terminal/embedded/escape_codes.rs b/meli/src/terminal/embedded/escape_codes.rs index 6a5a4358..058bfaca 100644 --- a/meli/src/terminal/embedded/escape_codes.rs +++ b/meli/src/terminal/embedded/escape_codes.rs @@ -21,7 +21,7 @@ use smallvec::SmallVec; -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub enum State { ExpectingControlChar, G0, // Designate G0 Character Set diff --git a/meli/src/terminal/embedded/terminal.rs b/meli/src/terminal/embedded/terminal.rs index 1aadedf6..789365d4 100644 --- a/meli/src/terminal/embedded/terminal.rs +++ b/meli/src/terminal/embedded/terminal.rs @@ -52,7 +52,7 @@ use crate::terminal::{ Area, Color, Screen, Virtual, }; -#[derive(Debug, Default, Clone, Copy)] +#[derive(Clone, Copy, Debug, Default)] #[repr(u8)] pub enum ScreenBuffer { #[default] @@ -60,7 +60,7 @@ pub enum ScreenBuffer { Alternate, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] enum CodepointBuf { None, TwoCodepoints(u8), @@ -184,7 +184,7 @@ impl Terminal { /// translated as changes to the grid, eg changes in a cell's colors. /// /// The main process copies the grid whenever the actual terminal is redrawn. -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct EmbeddedGrid { cursor: (usize, usize), /// `[top;bottom]` diff --git a/meli/src/terminal/keys.rs b/meli/src/terminal/keys.rs index 8de604d2..93ee9f34 100644 --- a/meli/src/terminal/keys.rs +++ b/meli/src/terminal/keys.rs @@ -34,7 +34,7 @@ use termion::{ use super::*; -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum Key { /// Backspace. Backspace, @@ -80,7 +80,7 @@ pub enum Key { } /// A mouse related event. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] #[serde(untagged)] pub enum MouseEvent { /// A mouse button was pressed. @@ -109,7 +109,7 @@ impl From for MouseEvent { } /// A mouse button. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] #[serde(untagged)] pub enum MouseButton { /// The left mouse button. @@ -208,7 +208,7 @@ impl PartialEq for &Key { } } -#[derive(PartialEq, Eq)] +#[derive(Eq, PartialEq)] /// Keep track of whether we're accepting normal user input or a pasted string. enum InputMode { Normal, @@ -426,7 +426,7 @@ impl Serialize for Key { #[test] fn test_key_serde() { - #[derive(Debug, Deserialize, PartialEq, Eq)] + #[derive(Debug, Deserialize, Eq, PartialEq)] struct V { k: Key, } diff --git a/meli/src/terminal/position.rs b/meli/src/terminal/position.rs index 270c6d92..0142fcb9 100644 --- a/meli/src/terminal/position.rs +++ b/meli/src/terminal/position.rs @@ -52,7 +52,7 @@ pub fn pos_dec(p: Pos, dec: (usize, usize)) -> Pos { (p.0.saturating_sub(dec.0), p.1.saturating_sub(dec.1)) } -#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum Alignment { /// Stretch to fill all space if possible, center if no meaningful way to /// stretch. diff --git a/meli/src/terminal/screen.rs b/meli/src/terminal/screen.rs index 858efc7c..c7be7098 100644 --- a/meli/src/terminal/screen.rs +++ b/meli/src/terminal/screen.rs @@ -40,7 +40,7 @@ pub type StateStdout = termion::screen::AlternateScreen< type DrawHorizontalSegmentFn = fn(&mut CellBuffer, &mut StateStdout, usize, usize, usize) -> (); -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash)] +#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)] #[repr(transparent)] pub struct ScreenGeneration((u64, u64)); @@ -478,7 +478,7 @@ impl Screen { } /// An `Area` consists of two points: the upper left and bottom right corners. -#[derive(Clone, Copy, Eq, PartialEq, Hash)] +#[derive(Clone, Copy, Eq, Hash, PartialEq)] pub struct Area { offset: Pos, upper_left: Pos, diff --git a/meli/src/terminal/text_editing.rs b/meli/src/terminal/text_editing.rs index 47b3889e..b800d6c4 100644 --- a/meli/src/terminal/text_editing.rs +++ b/meli/src/terminal/text_editing.rs @@ -21,7 +21,7 @@ use melib::text_processing::TextProcessing; -#[derive(Debug, Clone, Default, PartialEq, Eq)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] pub struct UText { content: String, cursor_pos: usize, diff --git a/meli/src/types.rs b/meli/src/types.rs index 183e170a..75ed7d20 100644 --- a/meli/src/types.rs +++ b/meli/src/types.rs @@ -105,7 +105,7 @@ pub enum ForkType { NewDraft(File, std::process::Child), } -#[derive(Debug, PartialEq, Eq, Copy, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum NotificationType { Info, Error(melib::error::ErrorKind), @@ -191,7 +191,7 @@ impl From for UIEvent { } } -#[derive(Debug, PartialEq, Eq, Copy, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum UIMode { Normal, Insert, @@ -226,7 +226,7 @@ pub mod segment_tree { use smallvec::SmallVec; - #[derive(Default, Debug, Clone)] + #[derive(Clone, Debug, Default)] pub struct SegmentTree { pub array: SmallVec<[u8; 1024]>, tree: SmallVec<[u8; 1024]>, diff --git a/meli/src/utilities.rs b/meli/src/utilities.rs index 307b75a1..107d6d0c 100644 --- a/meli/src/utilities.rs +++ b/meli/src/utilities.rs @@ -51,7 +51,7 @@ use indexmap::IndexMap; pub use self::tables::*; use crate::{components::ExtendShortcutsMaps, jobs::JobId, melib::text_processing::TextProcessing}; -#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum SearchMovement { Previous, #[default] @@ -60,7 +60,7 @@ pub enum SearchMovement { Last, } -#[derive(Default, Debug, Clone)] +#[derive(Clone, Debug, Default)] pub struct SearchPattern { pattern: String, positions: Vec<(usize, usize)>, diff --git a/meli/src/utilities/dialogs.rs b/meli/src/utilities/dialogs.rs index 50f3ba97..9528bd1c 100644 --- a/meli/src/utilities/dialogs.rs +++ b/meli/src/utilities/dialogs.rs @@ -25,7 +25,7 @@ const OK: &str = "OK"; const CANCEL: &str = "Cancel"; const CANCEL_OFFSET: usize = "OK ".len(); -#[derive(Debug, Copy, PartialEq, Eq, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] enum SelectorCursor { Unfocused, /// Cursor is at an entry diff --git a/meli/src/utilities/pager.rs b/meli/src/utilities/pager.rs index 67c3771f..9cbf117d 100644 --- a/meli/src/utilities/pager.rs +++ b/meli/src/utilities/pager.rs @@ -28,7 +28,7 @@ use crate::terminal::embedded::EmbeddedGrid; /// `Pager` holds its own content in its own `CellBuffer` and when `draw` is /// called, it draws the current view of the text. It is responsible for /// scrolling etc. -#[derive(Default, Debug, Clone)] +#[derive(Clone, Debug, Default)] pub struct Pager { text: String, cursor: (usize, usize), diff --git a/meli/src/utilities/tables.rs b/meli/src/utilities/tables.rs index 9f4714fe..e2fbcaa6 100644 --- a/meli/src/utilities/tables.rs +++ b/meli/src/utilities/tables.rs @@ -28,7 +28,7 @@ use crate::{ terminal::{Screen, Virtual}, }; -#[derive(Debug, Default, Copy, Clone)] +#[derive(Clone, Copy, Debug, Default)] pub enum ColumnElasticity { #[default] Rigid, @@ -65,7 +65,7 @@ impl TableRowFormat { } */ -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct TableThemeConfig { pub theme: TableTheme, //pub row_formats: HashMap>, @@ -83,7 +83,7 @@ impl TableThemeConfig { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub enum TableTheme { Single(ThemeAttribute), EvenOdd { @@ -98,7 +98,7 @@ impl Default for TableTheme { } } -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct TableCursorConfig { pub handle: bool, pub theme: TableTheme, @@ -121,7 +121,7 @@ impl TableCursorConfig { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct DataColumns { pub cursor_config: TableCursorConfig, pub theme_config: TableThemeConfig, diff --git a/meli/src/utilities/widgets.rs b/meli/src/utilities/widgets.rs index 14063283..81bbef2a 100644 --- a/meli/src/utilities/widgets.rs +++ b/meli/src/utilities/widgets.rs @@ -24,7 +24,7 @@ use std::{borrow::Cow, collections::HashMap, time::Duration}; use super::*; use crate::melib::text_processing::TextProcessing; -#[derive(Copy, Clone, Debug, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] enum FormFocus { #[default] Fields, @@ -194,7 +194,7 @@ impl std::fmt::Display for Field { } } -#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum FormButtonActions { Accept, Reset, @@ -662,7 +662,7 @@ where } } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct AutoCompleteEntry { pub entry: String, pub description: String, @@ -703,7 +703,7 @@ impl From<(String, String)> for AutoCompleteEntry { } } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct AutoComplete { entries: Vec, cursor: usize, @@ -872,7 +872,7 @@ impl AutoComplete { } } -#[derive(Default, Copy, Clone)] +#[derive(Clone, Copy, Default)] pub struct ScrollBar { pub show_arrows: bool, } diff --git a/melib/src/addressbook.rs b/melib/src/addressbook.rs index 01c8cecb..d40cf0d0 100644 --- a/melib/src/addressbook.rs +++ b/melib/src/addressbook.rs @@ -32,7 +32,7 @@ use crate::utils::{ parsec::Parser, }; -#[derive(Hash, Debug, PartialEq, Eq, Clone, Copy, Deserialize, Serialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] #[serde(from = "String")] #[serde(into = "String")] pub enum CardId { @@ -75,7 +75,7 @@ impl From for CardId { } } -#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] pub struct AddressBook { display_name: String, created: UnixTimestamp, @@ -83,7 +83,7 @@ pub struct AddressBook { pub cards: HashMap, } -#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)] +#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] pub struct Card { id: CardId, title: String, diff --git a/melib/src/addressbook/vcard.rs b/melib/src/addressbook/vcard.rs index f081b9a1..cb24353c 100644 --- a/melib/src/addressbook/vcard.rs +++ b/melib/src/addressbook/vcard.rs @@ -76,7 +76,7 @@ impl VCard { } } -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct ContentLine { group: Option, params: Vec, diff --git a/melib/src/backends.rs b/melib/src/backends.rs index fbc6d3d1..b617b82c 100644 --- a/melib/src/backends.rs +++ b/melib/src/backends.rs @@ -246,7 +246,7 @@ impl Backends { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub enum BackendEvent { Notice { description: String, @@ -270,7 +270,7 @@ impl From for BackendEvent { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub enum RefreshEventKind { Update(EnvelopeHash, Box), /// Rename(old_hash, new_hash) @@ -290,7 +290,7 @@ pub enum RefreshEventKind { MailboxUnsubscribe(MailboxHash), } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct RefreshEvent { pub mailbox_hash: MailboxHash, pub account_hash: AccountHash, @@ -320,7 +320,7 @@ impl Deref for BackendEventConsumer { } } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Clone, Debug, Eq, Hash, PartialEq)] pub enum FlagOp { Set(Flag), SetTag(String), @@ -351,7 +351,7 @@ impl FlagOp { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct MailBackendCapabilities { pub is_async: bool, pub is_remote: bool, @@ -362,7 +362,7 @@ pub struct MailBackendCapabilities { pub extra_submission_headers: &'static [HeaderName], } -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub enum MailBackendExtensionStatus { Unsupported { comment: Option<&'static str> }, Supported { comment: Option<&'static str> }, @@ -524,7 +524,7 @@ impl BackendOp for ReadOnlyOp { } } -#[derive(Default, Debug, Copy, Hash, Eq, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum SpecialUsageMailbox { #[default] Normal, @@ -606,7 +606,7 @@ impl Clone for Mailbox { } } -#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)] +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub struct MailboxPermissions { pub create_messages: bool, pub remove_messages: bool, @@ -639,7 +639,7 @@ impl std::fmt::Display for MailboxPermissions { } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct EnvelopeHashBatch { pub first: EnvelopeHash, pub rest: SmallVec<[EnvelopeHash; 64]>, @@ -692,7 +692,7 @@ impl EnvelopeHashBatch { } } -#[derive(Default, Clone)] +#[derive(Clone, Default)] pub struct LazyCountSet { pub not_yet_seen: usize, pub set: BTreeSet, diff --git a/melib/src/collection.rs b/melib/src/collection.rs index 3a986b30..7eda4be4 100644 --- a/melib/src/collection.rs +++ b/melib/src/collection.rs @@ -33,7 +33,7 @@ use crate::backends::{MailboxHash, TagHash}; pub type EnvelopeRef<'g> = RwRef<'g, EnvelopeHash, Envelope>; pub type EnvelopeRefMut<'g> = RwRefMut<'g, EnvelopeHash, Envelope>; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Collection { pub envelopes: Arc>>, pub message_id_index: Arc, EnvelopeHash>>>, diff --git a/melib/src/conf.rs b/melib/src/conf.rs index 18c27ed7..df07b3ec 100644 --- a/melib/src/conf.rs +++ b/melib/src/conf.rs @@ -32,7 +32,7 @@ use crate::{ }; pub use crate::{SortField, SortOrder}; -#[derive(Debug, Serialize, Default, Clone)] +#[derive(Clone, Debug, Default, Serialize)] pub struct AccountSettings { pub name: String, pub root_mailbox: String, @@ -102,7 +102,7 @@ impl AccountSettings { } } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(default)] pub struct MailboxConf { #[serde(alias = "rename")] @@ -187,7 +187,7 @@ pub mod strings { named_unit_variant!(ask); } -#[derive(Copy, Default, Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum ToggleFlag { #[default] Unset, diff --git a/melib/src/email.rs b/melib/src/email.rs index c42e8cee..2fc53019 100644 --- a/melib/src/email.rs +++ b/melib/src/email.rs @@ -223,7 +223,7 @@ impl Flag { /// the raw bytes that describe the email in `bytes`. Its body as an /// `melib::email::Attachment` can be parsed on demand /// with the `melib::email::Mail::body` method. -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub struct Mail { pub envelope: Envelope, pub bytes: Vec, @@ -267,7 +267,7 @@ crate::declare_u64_hash!(EnvelopeHash); /// ///To access the email attachments, you need to parse them from the raw email /// bytes into an `Attachment` object. -#[derive(Clone, Serialize, Deserialize)] +#[derive(Clone, Deserialize, Serialize)] pub struct Envelope { // ----- IMAP4rev1 ----- pub date: String, diff --git a/melib/src/email/address.rs b/melib/src/email/address.rs index aa5d9086..3ba22712 100644 --- a/melib/src/email/address.rs +++ b/melib/src/email/address.rs @@ -29,14 +29,14 @@ use std::{ use super::*; -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct GroupAddress { pub raw: Vec, pub display_name: StrBuilder, pub mailbox_list: Vec
, } -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] /** * Container for an address. * @@ -100,7 +100,7 @@ impl PartialEq for MailboxAddress { /// assert_eq!(addr.get_display_name(), Some("Jörg Doe".to_string())); /// assert_eq!(addr.get_email(), "joerg@example.com".to_string()); /// ``` -#[derive(Clone, Serialize, Deserialize)] +#[derive(Clone, Deserialize, Serialize)] pub enum Address { Mailbox(MailboxAddress), Group(GroupAddress), @@ -467,7 +467,7 @@ impl TryFrom<&str> for Address { } } -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] #[repr(transparent)] pub struct UIAddress<'a>(&'a Address); @@ -495,7 +495,7 @@ impl std::fmt::Display for UIAddress<'_> { } } -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] #[repr(transparent)] pub struct UINameAddress<'a>(&'a Address); @@ -521,7 +521,7 @@ impl std::fmt::Display for UINameAddress<'_> { } /// Helper struct to return slices from a struct field on demand. -#[derive(Clone, Debug, Serialize, Deserialize, Default, PartialEq, Eq, Copy, Hash)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct StrBuilder { pub offset: usize, pub length: usize, @@ -550,7 +550,7 @@ impl StrBuilder { } /// `MessageID` is accessed through the `StrBuild` trait. -#[derive(Clone, Serialize, Deserialize, Default)] +#[derive(Clone, Default, Deserialize, Serialize)] pub struct MessageID(pub Vec, pub StrBuilder); impl StrBuild for MessageID { @@ -617,7 +617,7 @@ impl std::fmt::Debug for MessageID { } } -#[derive(Clone, Serialize, Deserialize)] +#[derive(Clone, Deserialize, Serialize)] pub struct References { pub raw: Vec, pub refs: Vec, diff --git a/melib/src/email/attachment_types.rs b/melib/src/email/attachment_types.rs index cfa01c35..0d3c80f8 100644 --- a/melib/src/email/attachment_types.rs +++ b/melib/src/email/attachment_types.rs @@ -25,7 +25,7 @@ use crate::email::{ parser::BytesExt, }; -#[derive(Clone, Default, Copy, Debug, PartialEq, Eq, Serialize, Deserialize, Hash)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum Charset { Ascii, #[default] @@ -194,7 +194,7 @@ impl std::fmt::Display for Charset { } } -#[derive(Clone, Default, Debug, PartialEq, Eq, Serialize, Deserialize, Hash)] +#[derive(Clone, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum MultipartType { Alternative, Digest, @@ -242,7 +242,7 @@ impl From<&[u8]> for MultipartType { } } -#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum ContentType { Text { kind: Text, @@ -438,7 +438,7 @@ impl ContentType { } } -#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Hash)] +#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum Text { Plain, Html, @@ -463,7 +463,7 @@ impl std::fmt::Display for Text { } } -#[derive(Clone, Default, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[derive(Clone, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum ContentTransferEncoding { #[default] _8Bit, @@ -506,7 +506,7 @@ impl From<&[u8]> for ContentTransferEncoding { } } -#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[derive(Clone, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct ContentDisposition { pub kind: ContentDispositionKind, pub filename: Option, @@ -517,7 +517,7 @@ pub struct ContentDisposition { pub parameter: Vec, } -#[derive(Clone, Default, Debug, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum ContentDispositionKind { #[default] Inline, diff --git a/melib/src/email/attachments.rs b/melib/src/email/attachments.rs index d8073ff9..e3b6ffe4 100644 --- a/melib/src/email/attachments.rs +++ b/melib/src/email/attachments.rs @@ -59,7 +59,7 @@ impl<'att> From> for DecodeOptions<'att> { } } -#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] /// A struct analogous to [`Attachment`] which can have incomplete and partial /// content before being turned into an [`Attachment`] with /// [`AttachmentBuilder::build`]. @@ -387,7 +387,7 @@ impl From for Attachment { } /// Immutable attachment type. -#[derive(Clone, Serialize, Deserialize, PartialEq, Hash, Eq)] +#[derive(Clone, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct Attachment { pub content_type: ContentType, pub content_transfer_encoding: ContentTransferEncoding, diff --git a/melib/src/email/compose.rs b/melib/src/email/compose.rs index 282bbaeb..40cdd16e 100644 --- a/melib/src/email/compose.rs +++ b/melib/src/email/compose.rs @@ -44,7 +44,7 @@ pub mod random; use super::parser; -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct Draft { pub headers: HeaderMap, pub body: String, diff --git a/melib/src/email/headers.rs b/melib/src/email/headers.rs index 20fab3a7..6cc672fd 100644 --- a/melib/src/email/headers.rs +++ b/melib/src/email/headers.rs @@ -82,7 +82,7 @@ impl<'a> Borrow for HeaderName { /// /// Except for the above, indexing will also panic if index is out of range or /// header key is not present in the map. -#[derive(Debug, Default, PartialEq, Eq, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] pub struct HeaderMap(indexmap::IndexMap); impl std::ops::Index for HeaderMap { diff --git a/melib/src/email/headers/names.rs b/melib/src/email/headers/names.rs index deebd27d..32f8448b 100644 --- a/melib/src/email/headers/names.rs +++ b/melib/src/email/headers/names.rs @@ -50,7 +50,7 @@ bitflags! { /// Case insensitive owned wrapper for a header name. /// As of `RFC5322` it's guaranteed to be ASCII. -#[derive(Debug, Clone, Eq, PartialEq, Hash)] +#[derive(Clone, Debug, Eq, Hash, PartialEq)] pub struct HeaderName { pub(super) inner: Repr, } @@ -62,7 +62,7 @@ impl Custom { } } -#[derive(Debug, Clone, Eq, PartialEq, Hash)] +#[derive(Clone, Debug, Eq, Hash, PartialEq)] pub(super) enum Repr { Standard(StandardHeader), Custom(T), @@ -78,7 +78,7 @@ impl std::fmt::Display for Repr { } // Used to hijack the Hash impl -#[derive(Debug, Clone, Eq, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub(super) struct Custom(pub(super) SmallVec<[u8; 32]>); /// A possible error when converting a `HeaderName` from another type. @@ -225,7 +225,7 @@ impl<'de> Deserialize<'de> for HeaderName { where D: Deserializer<'de>, { - #[derive(Serialize, Deserialize)] + #[derive(Deserialize, Serialize)] #[serde(untagged)] enum Helper { S(String), diff --git a/melib/src/email/headers/standards.rs b/melib/src/email/headers/standards.rs index 8c117db1..85925be0 100644 --- a/melib/src/email/headers/standards.rs +++ b/melib/src/email/headers/standards.rs @@ -209,7 +209,7 @@ standards! { } /// Status of field at the moment of writing. -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash)] +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub enum Status { /// Deprecated, Deprecated, diff --git a/melib/src/email/list_management.rs b/melib/src/email/list_management.rs index 452c35b1..a55da823 100644 --- a/melib/src/email/list_management.rs +++ b/melib/src/email/list_management.rs @@ -27,7 +27,7 @@ use smallvec::SmallVec; use super::{parser, Envelope}; -#[derive(Debug, PartialEq, Eq, Clone, Copy)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ListAction<'a> { Url(&'a [u8]), Email(&'a [u8]), @@ -75,7 +75,7 @@ impl<'a> ListAction<'a> { } } -#[derive(Default, Debug)] +#[derive(Debug, Default)] pub struct ListActions<'a> { pub id: Option<&'a str>, pub archive: Option<&'a str>, diff --git a/melib/src/email/mailto.rs b/melib/src/email/mailto.rs index 3666bc55..8c76ebf9 100644 --- a/melib/src/email/mailto.rs +++ b/melib/src/email/mailto.rs @@ -32,7 +32,7 @@ use crate::{ utils::percent_encoding::{AsciiSet, CONTROLS}, }; -#[derive(Debug, Clone, Eq, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct Mailto { pub address: Vec
, pub body: Option, diff --git a/melib/src/email/pgp.rs b/melib/src/email/pgp.rs index 3e8c2e8c..d9ea6ca8 100644 --- a/melib/src/email/pgp.rs +++ b/melib/src/email/pgp.rs @@ -140,7 +140,7 @@ pub fn verify_signature(a: &Attachment) -> Result<(Vec, &Attachment)> { } } -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub struct DecryptionMetadata { pub recipients: Vec, pub file_name: Option, @@ -148,13 +148,13 @@ pub struct DecryptionMetadata { pub is_mime: bool, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Recipient { pub keyid: Option, pub status: Result<()>, } -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] pub struct SignatureMetadata { pub signatures: Vec, pub file_name: Option, diff --git a/melib/src/error.rs b/melib/src/error.rs index 9768af7e..61d73398 100644 --- a/melib/src/error.rs +++ b/melib/src/error.rs @@ -25,7 +25,7 @@ use std::{borrow::Cow, io, result, str, string, sync::Arc}; pub type Result = result::Result; -#[derive(Debug, Copy, PartialEq, Eq, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum NetworkErrorKind { /// Unspecified None, @@ -316,7 +316,7 @@ impl From for NetworkErrorKind { } } -#[derive(Debug, Copy, PartialEq, Eq, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] #[non_exhaustive] pub enum ErrorKind { None, @@ -389,7 +389,7 @@ impl ErrorKind { is_variant! { is_value_error, ValueError } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Error { pub summary: Cow<'static, str>, pub details: Option>, diff --git a/melib/src/gpgme/bindings.rs b/melib/src/gpgme/bindings.rs index 80318c51..0ad898f7 100644 --- a/melib/src/gpgme/bindings.rs +++ b/melib/src/gpgme/bindings.rs @@ -32,7 +32,7 @@ use libc::{off_t, time_t, FILE}; /* automatically generated by rust-bindgen */ #[repr(C)] -#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { storage: Storage, align: [Align; 0], @@ -184,13 +184,13 @@ pub type gpg_err_code_from_syserror = extern "C" fn() -> gpg_err_code_t; pub type gpg_error_check_version = extern "C" fn(req_version: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_context { _unused: [u8; 0], } pub type gpgme_ctx_t = *mut gpgme_context; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_data { _unused: [u8; 0], } @@ -307,7 +307,7 @@ pub type gpgme_pinentry_mode_t = u32; pub type gpgme_export_mode_t = ::std::os::raw::c_uint; pub type gpgme_sig_notation_flags_t = ::std::os::raw::c_uint; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_sig_notation { pub next: *mut _gpgme_sig_notation, pub name: *mut ::std::os::raw::c_char, @@ -450,7 +450,7 @@ impl _gpgme_sig_notation { } pub type gpgme_sig_notation_t = *mut _gpgme_sig_notation; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_engine_info { pub next: *mut _gpgme_engine_info, pub protocol: gpgme_protocol_t, @@ -535,7 +535,7 @@ fn bindgen_test_layout__gpgme_engine_info() { } pub type gpgme_engine_info_t = *mut _gpgme_engine_info; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_tofu_info { pub next: *mut _gpgme_tofu_info, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -700,7 +700,7 @@ impl _gpgme_tofu_info { } pub type gpgme_tofu_info_t = *mut _gpgme_tofu_info; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_subkey { pub next: *mut _gpgme_subkey, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -1058,7 +1058,7 @@ impl _gpgme_subkey { } pub type gpgme_subkey_t = *mut _gpgme_subkey; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_key_sig { pub next: *mut _gpgme_key_sig, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -1332,7 +1332,7 @@ impl _gpgme_key_sig { } pub type gpgme_key_sig_t = *mut _gpgme_key_sig; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_user_id { pub next: *mut _gpgme_user_id, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -1546,7 +1546,7 @@ impl _gpgme_user_id { } pub type gpgme_user_id_t = *mut _gpgme_user_id; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_key { pub _refs: ::std::os::raw::c_uint, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -1910,7 +1910,7 @@ impl _gpgme_key { } pub type gpgme_key_t = *mut _gpgme_key; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_invalid_key { pub next: *mut _gpgme_invalid_key, pub fpr: *mut ::std::os::raw::c_char, @@ -2107,7 +2107,7 @@ pub const gpgme_event_io_t_GPGME_EVENT_NEXT_KEY: gpgme_event_io_t = 2; pub const gpgme_event_io_t_GPGME_EVENT_NEXT_TRUSTITEM: gpgme_event_io_t = 3; pub type gpgme_event_io_t = u32; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_io_event_done_data { pub err: gpgme_error_t, pub op_err: gpgme_error_t, @@ -2155,7 +2155,7 @@ pub type gpgme_event_io_cb_t = ::std::option::Option< ), >; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_io_cbs { pub add: gpgme_register_io_cb_t, pub add_priv: *mut ::std::os::raw::c_void, @@ -2282,7 +2282,7 @@ pub type gpgme_data_seek_cb_t = ::std::option::Option< pub type gpgme_data_release_cb_t = ::std::option::Option; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_data_cbs { pub read: gpgme_data_read_cb_t, pub write: gpgme_data_write_cb_t, @@ -2415,7 +2415,7 @@ pub type gpgme_key_from_uid = pub type gpgme_key_ref = unsafe extern "C" fn(key: gpgme_key_t); pub type gpgme_key_unref = unsafe extern "C" fn(key: gpgme_key_t); #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_encrypt_result { pub invalid_recipients: gpgme_invalid_key_t, } @@ -2519,7 +2519,7 @@ pub type gpgme_op_encrypt_sign_ext = extern "C" fn( cipher: gpgme_data_t, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_recipient { pub next: *mut _gpgme_recipient, pub keyid: *mut ::std::os::raw::c_char, @@ -2593,7 +2593,7 @@ fn bindgen_test_layout__gpgme_recipient() { } pub type gpgme_recipient_t = *mut _gpgme_recipient; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_decrypt_result { pub unsupported_algorithm: *mut ::std::os::raw::c_char, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, @@ -2795,7 +2795,7 @@ pub type gpgme_op_decrypt_ext = extern "C" fn( plain: gpgme_data_t, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_new_signature { pub next: *mut _gpgme_new_signature, pub type_: gpgme_sig_mode_t, @@ -2917,7 +2917,7 @@ fn bindgen_test_layout__gpgme_new_signature() { } pub type gpgme_new_signature_t = *mut _gpgme_new_signature; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_sign_result { pub invalid_signers: gpgme_invalid_key_t, pub signatures: gpgme_new_signature_t, @@ -2988,7 +2988,7 @@ pub const gpgme_sigsum_t_GPGME_SIGSUM_SYS_ERROR: gpgme_sigsum_t = 2048; pub const gpgme_sigsum_t_GPGME_SIGSUM_TOFU_CONFLICT: gpgme_sigsum_t = 4096; pub type gpgme_sigsum_t = u32; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_signature { pub next: *mut _gpgme_signature, pub summary: gpgme_sigsum_t, @@ -3242,7 +3242,7 @@ impl _gpgme_signature { } pub type gpgme_signature_t = *mut _gpgme_signature; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_verify_result { pub signatures: gpgme_signature_t, pub file_name: *mut ::std::os::raw::c_char, @@ -3343,7 +3343,7 @@ pub type gpgme_op_verify = extern "C" fn( plaintext: gpgme_data_t, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_import_status { pub next: *mut _gpgme_import_status, pub fpr: *mut ::std::os::raw::c_char, @@ -3406,7 +3406,7 @@ fn bindgen_test_layout__gpgme_import_status() { } pub type gpgme_import_status_t = *mut _gpgme_import_status; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_import_result { pub considered: ::std::os::raw::c_int, pub no_user_id: ::std::os::raw::c_int, @@ -3677,7 +3677,7 @@ pub type gpgme_op_export_keys = extern "C" fn( keydata: gpgme_data_t, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_genkey_result { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, pub fpr: *mut ::std::os::raw::c_char, @@ -3943,7 +3943,7 @@ pub type gpgme_op_tofu_policy = extern "C" fn(ctx: gpgme_ctx_t, key: gpgme_key_t, policy: gpgme_tofu_policy_t) -> gpgme_error_t; #[repr(C)] #[repr(align(4))] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_keylist_result { pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, } @@ -4033,7 +4033,7 @@ pub type gpgme_op_passwd = extern "C" fn( flags: ::std::os::raw::c_uint, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_trust_item { pub _refs: ::std::os::raw::c_uint, pub keyid: *mut ::std::os::raw::c_char, @@ -4243,7 +4243,7 @@ pub type gpgme_op_assuan_transact_ext = extern "C" fn( op_err: *mut gpgme_error_t, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_vfs_mount_result { pub mount_dir: *mut ::std::os::raw::c_char, } @@ -4307,14 +4307,14 @@ pub const gpgme_conf_type_t_GPGME_CONF_SEC_KEY: gpgme_conf_type_t = 36; pub const gpgme_conf_type_t_GPGME_CONF_ALIAS_LIST: gpgme_conf_type_t = 37; pub type gpgme_conf_type_t = u32; #[repr(C)] -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub struct gpgme_conf_arg { pub next: *mut gpgme_conf_arg, pub no_arg: ::std::os::raw::c_uint, pub value: gpgme_conf_arg__bindgen_ty_1, } #[repr(C)] -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub union gpgme_conf_arg__bindgen_ty_1 { pub count: ::std::os::raw::c_uint, pub uint32: ::std::os::raw::c_uint, @@ -4430,7 +4430,7 @@ fn bindgen_test_layout_gpgme_conf_arg() { } pub type gpgme_conf_arg_t = *mut gpgme_conf_arg; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_conf_opt { pub next: *mut gpgme_conf_opt, pub name: *mut ::std::os::raw::c_char, @@ -4629,7 +4629,7 @@ fn bindgen_test_layout_gpgme_conf_opt() { } pub type gpgme_conf_opt_t = *mut gpgme_conf_opt; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct gpgme_conf_comp { pub next: *mut gpgme_conf_comp, pub _last_opt_p: *mut gpgme_conf_opt_t, @@ -4735,7 +4735,7 @@ pub type gpgme_op_conf_dir = extern "C" fn( result: *mut *mut ::std::os::raw::c_char, ) -> gpgme_error_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_query_swdb_result { pub next: *mut _gpgme_op_query_swdb_result, pub name: *mut ::std::os::raw::c_char, @@ -5283,7 +5283,7 @@ pub type gpgme_trust_item_get_int_attr = extern "C" fn( idx: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _gpgme_op_assuan_result { pub err: gpgme_error_t, } @@ -5359,7 +5359,7 @@ pub type GpgmeTrustItem = gpgme_trust_item_t; pub use self::gpgme_status_code_t as GpgmeStatusCode; pub type __builtin_va_list = [__va_list_tag; 1usize]; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct __va_list_tag { pub gp_offset: ::std::os::raw::c_uint, pub fp_offset: ::std::os::raw::c_uint, diff --git a/melib/src/gpgme/mod.rs b/melib/src/gpgme/mod.rs index 4d21dbd3..6d151a36 100644 --- a/melib/src/gpgme/mod.rs +++ b/melib/src/gpgme/mod.rs @@ -76,7 +76,7 @@ pub mod bindings; use bindings::*; pub mod io; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum GpgmeFlag { ///"auto-key-retrieve" AutoKeyRetrieve, diff --git a/melib/src/imap/cache.rs b/melib/src/imap/cache.rs index 8487ae47..0de97070 100644 --- a/melib/src/imap/cache.rs +++ b/melib/src/imap/cache.rs @@ -29,7 +29,7 @@ use crate::{ error::*, }; -#[derive(Debug, PartialEq, Hash, Eq, Ord, PartialOrd, Copy, Clone)] +#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct ModSequence(pub std::num::NonZeroU64); impl TryFrom for ModSequence { diff --git a/melib/src/imap/connection.rs b/melib/src/imap/connection.rs index a07dbbf9..d4e0a45e 100644 --- a/melib/src/imap/connection.rs +++ b/melib/src/imap/connection.rs @@ -77,7 +77,7 @@ macro_rules! imap_trace { use super::{protocol_parser, Capabilities, ImapServerConf, UIDStore}; -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum SyncPolicy { None, /// RFC4549 `Synch Ops for Disconnected IMAP4 Clients` @@ -88,13 +88,13 @@ pub enum SyncPolicy { CondstoreQresync, } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum ImapProtocol { IMAP { extension_use: ImapExtensionUse }, ManageSieve, } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub struct ImapExtensionUse { pub condstore: bool, pub idle: bool, @@ -124,7 +124,7 @@ pub struct ImapStream { pub timeout: Option, } -#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum MailboxSelection { None, Select(MailboxHash), diff --git a/melib/src/imap/mailbox.rs b/melib/src/imap/mailbox.rs index a26d3daa..a050b968 100644 --- a/melib/src/imap/mailbox.rs +++ b/melib/src/imap/mailbox.rs @@ -29,7 +29,7 @@ use crate::{ error::*, }; -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct ImapMailbox { pub hash: MailboxHash, pub imap_path: String, diff --git a/melib/src/imap/managesieve.rs b/melib/src/imap/managesieve.rs index 3ccc2ad6..da49a778 100644 --- a/melib/src/imap/managesieve.rs +++ b/melib/src/imap/managesieve.rs @@ -38,7 +38,7 @@ pub struct ManageSieveConnection { pub inner: ImapConnection, } -#[derive(PartialEq, Eq, Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ManageSieveResponse<'a> { Ok { code: Option<&'a [u8]>, diff --git a/melib/src/imap/mod.rs b/melib/src/imap/mod.rs index 7919f0bd..fbc65abd 100644 --- a/melib/src/imap/mod.rs +++ b/melib/src/imap/mod.rs @@ -100,7 +100,7 @@ pub struct EnvelopeCache { flags: Option, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct ImapServerConf { pub server_hostname: String, pub server_username: String, @@ -1589,7 +1589,7 @@ impl ImapType { } } -#[derive(Debug, PartialEq, Copy, Clone)] +#[derive(Clone, Copy, Debug, PartialEq)] enum FetchStage { InitialFresh, InitialCache, diff --git a/melib/src/imap/operations.rs b/melib/src/imap/operations.rs index f6bf26c4..9961c1ba 100644 --- a/melib/src/imap/operations.rs +++ b/melib/src/imap/operations.rs @@ -27,7 +27,7 @@ use super::*; use crate::{backends::*, error::Error}; /// `BackendOp` implementor for Imap -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct ImapOp { uid: UID, mailbox_hash: MailboxHash, diff --git a/melib/src/imap/protocol_parser.rs b/melib/src/imap/protocol_parser.rs index 113799e5..e8397544 100644 --- a/melib/src/imap/protocol_parser.rs +++ b/melib/src/imap/protocol_parser.rs @@ -484,7 +484,7 @@ pub fn list_mailbox_result(input: &[u8]) -> IResult<&[u8], ImapMailbox> { )) } -#[derive(Debug, Clone, Eq, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct FetchResponse<'a> { pub uid: Option, pub message_sequence_number: MessageSequenceNumber, @@ -931,7 +931,7 @@ pub fn search_results_raw<'a>(input: &'a [u8]) -> IResult<&'a [u8], &'a [u8]> { ))(input) } -#[derive(Debug, Default, Eq, PartialEq, Clone)] +#[derive(Clone, Debug, Default, Eq, PartialEq)] pub struct SelectResponse { pub exists: ImapNum, pub recent: ImapNum, @@ -1382,7 +1382,7 @@ fn eat_whitespace(mut input: &[u8]) -> IResult<&[u8], ()> { Ok((input, ())) } -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct StatusResponse { pub mailbox: Option, pub messages: Option, diff --git a/melib/src/jmap/mailbox.rs b/melib/src/jmap/mailbox.rs index 66243925..84966593 100644 --- a/melib/src/jmap/mailbox.rs +++ b/melib/src/jmap/mailbox.rs @@ -24,7 +24,7 @@ use std::sync::{Arc, Mutex, RwLock}; use super::*; use crate::backends::{LazyCountSet, MailboxPermissions, SpecialUsageMailbox}; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct JmapMailbox { pub name: String, pub path: String, diff --git a/melib/src/jmap/mod.rs b/melib/src/jmap/mod.rs index cfe98f6b..fe403a54 100644 --- a/melib/src/jmap/mod.rs +++ b/melib/src/jmap/mod.rs @@ -115,7 +115,7 @@ pub struct EnvelopeCache { // flags: Option, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct JmapServerConf { pub server_url: String, pub server_username: String, diff --git a/melib/src/jmap/objects/email.rs b/melib/src/jmap/objects/email.rs index 5ab37f10..4419460c 100644 --- a/melib/src/jmap/objects/email.rs +++ b/melib/src/jmap/objects/email.rs @@ -137,7 +137,7 @@ impl Id { // The date the Email was received by the message store. This is the // "internal date" in IMAP [RFC3501]./ -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailObject { #[serde(default)] @@ -211,7 +211,7 @@ impl EmailObject { _impl!(get keywords, keywords: IndexMap); } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct Header { pub name: String, @@ -228,7 +228,7 @@ where Ok(v.into_iter().map(|t| (t.name, t.value)).collect()) } -#[derive(Deserialize, Serialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailAddress { pub email: String, @@ -332,7 +332,7 @@ impl std::convert::From for crate::Envelope { } } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct HtmlBody { pub blob_id: Id, @@ -359,7 +359,7 @@ pub struct HtmlBody { pub sub_parts: Vec, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct TextBody { pub blob_id: Id, @@ -390,7 +390,7 @@ impl Object for EmailObject { const NAME: &'static str = "Email"; } -#[derive(Serialize, Debug)] +#[derive(Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailQuery { #[serde(flatten)] @@ -419,7 +419,7 @@ impl EmailQuery { _impl!(collapse_threads: bool); } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailGet { #[serde(flatten)] @@ -461,7 +461,7 @@ impl EmailGet { _impl!(max_body_value_bytes: u64); } -#[derive(Serialize, Deserialize, Default, Debug)] +#[derive(Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailFilterCondition { #[serde(skip_serializing_if = "Option::is_none")] @@ -546,7 +546,7 @@ impl From for FilterCondition, EmailImportObject>, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailImportObject { /// o blobId: `Id` @@ -123,7 +123,7 @@ impl Default for EmailImportObject { } } -#[derive(Deserialize, Serialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] #[serde(tag = "type")] pub enum EmailImportError { @@ -164,7 +164,7 @@ pub enum EmailImportError { StateMismatch, } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailImportResponse { /// o accountId: `Id` @@ -205,7 +205,7 @@ impl std::convert::TryFrom<&RawValue> for EmailImportResponse { } } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailImportResult { pub id: Id, diff --git a/melib/src/jmap/objects/identity.rs b/melib/src/jmap/objects/identity.rs index b8cf5478..cf9bc720 100644 --- a/melib/src/jmap/objects/identity.rs +++ b/melib/src/jmap/objects/identity.rs @@ -25,7 +25,7 @@ use super::*; /// /// An *Identity* object stores information about an email address or domain the /// user may send from. -#[derive(Deserialize, Serialize, Debug, Clone, Default)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct IdentityObject { /// id: `Id` (immutable; server-set) @@ -107,7 +107,7 @@ impl Method for IdentityChanges { /// o "forbiddenFrom": The user is not allowed to send from the address /// given as the "email" property of the Identity. /// ``` -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase", transparent)] pub struct IdentitySet(pub Set); diff --git a/melib/src/jmap/objects/mailbox.rs b/melib/src/jmap/objects/mailbox.rs index 9467ee3c..d1d13f8e 100644 --- a/melib/src/jmap/objects/mailbox.rs +++ b/melib/src/jmap/objects/mailbox.rs @@ -27,7 +27,7 @@ impl Id { } } -#[derive(Deserialize, Serialize, Debug, Default)] +#[derive(Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct MailboxObject { pub id: Id, @@ -47,7 +47,7 @@ impl Object for MailboxObject { const NAME: &'static str = "Mailbox"; } -#[derive(Deserialize, Serialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct JmapRights { pub may_add_items: bool, @@ -77,7 +77,7 @@ impl Default for JmapRights { } } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct MailboxGet { #[serde(flatten)] @@ -108,7 +108,7 @@ impl Method for MailboxGet { /// /// - `mailboxHasEmail`: The Mailbox has at least one Email assigned to it, and /// the `onDestroyRemoveEmails` argument was false. -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct MailboxSet { #[serde(flatten)] diff --git a/melib/src/jmap/objects/submission.rs b/melib/src/jmap/objects/submission.rs index 1c620ac5..b6fb28c5 100644 --- a/melib/src/jmap/objects/submission.rs +++ b/melib/src/jmap/objects/submission.rs @@ -43,7 +43,7 @@ use super::*; /// setting this property to `canceled`; if the update succeeds, the /// submission was successfully canceled, and the message has not been /// delivered to any of the original recipients. -#[derive(Deserialize, Serialize, Default, Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub enum UndoStatus { /// It may be possible to cancel this submission. @@ -63,7 +63,7 @@ pub enum UndoStatus { /// it SHOULD update the EmailSubmission object each time the status /// of any of the recipients changes, even if some recipients are /// still being retried. -#[derive(Deserialize, Serialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct DeliveryStatusObject { /// The SMTP reply string returned for this recipient when the @@ -125,7 +125,7 @@ pub struct DeliveryStatusObject { /// this recipient with Disposition-Type (as per `[RFC8098]`, /// Section 3.2.6.2) equal to `displayed`, this property SHOULD be /// set to `yes`. -#[derive(Deserialize, Serialize, Default, Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub enum Displayed { /// The recipient's system claims the message content has been displayed to @@ -153,7 +153,7 @@ pub enum Displayed { /// /// The server MAY also set this property based on other feedback /// channels. -#[derive(Deserialize, Serialize, Default, Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub enum Delivered { /// The message is in a local mail queue and the status will change once it @@ -177,7 +177,7 @@ pub enum Delivered { /// /// An *EmailSubmission* object represents the submission of an Email for /// delivery to one or more recipients. It has the following properties: -#[derive(Deserialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub struct EmailSubmissionObject { /// accountId: `Id` @@ -284,7 +284,7 @@ impl Serialize for EmailSubmissionObject { } } -#[derive(Serialize, Clone, Debug)] +#[derive(Clone, Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct EmailSubmissionSet { #[serde(flatten)] @@ -343,7 +343,7 @@ impl EmailSubmissionSet { } /// Information for use when sending via SMTP. -#[derive(Deserialize, Serialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct EnvelopeObject { /// The email address to use as the return address in the SMTP @@ -367,7 +367,7 @@ impl Object for EnvelopeObject { const NAME: &'static str = "Envelope"; } -#[derive(Deserialize, Serialize, Debug, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct Address { /// The email address being represented by the object. This is a diff --git a/melib/src/jmap/objects/thread.rs b/melib/src/jmap/objects/thread.rs index 6090223b..f8eaf765 100644 --- a/melib/src/jmap/objects/thread.rs +++ b/melib/src/jmap/objects/thread.rs @@ -23,7 +23,7 @@ use std::marker::PhantomData; use super::*; -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct ThreadObject { #[serde(default)] @@ -40,7 +40,7 @@ impl ThreadObject { _impl!(get email_ids, email_ids: Vec>); } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct ThreadGet { #[serde(flatten)] @@ -63,7 +63,7 @@ impl ThreadGet { } } -#[derive(Serialize, Debug)] +#[derive(Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct ThreadChanges { #[serde(flatten)] diff --git a/melib/src/jmap/operations.rs b/melib/src/jmap/operations.rs index 52a11af7..e9076013 100644 --- a/melib/src/jmap/operations.rs +++ b/melib/src/jmap/operations.rs @@ -24,7 +24,7 @@ use std::sync::Arc; use super::*; /// `BackendOp` implementor for Imap -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct JmapOp { hash: EnvelopeHash, connection: Arc>, diff --git a/melib/src/jmap/protocol.rs b/melib/src/jmap/protocol.rs index 7903d1ca..2ea1ee10 100644 --- a/melib/src/jmap/protocol.rs +++ b/melib/src/jmap/protocol.rs @@ -226,7 +226,7 @@ pub async fn get_message(conn: &JmapConnection, ids: &[String]) -> Result Id { } } -#[derive(Deserialize, Serialize, Debug)] +#[derive(Debug, Deserialize, Serialize)] #[serde(transparent)] pub struct State { pub inner: String, @@ -228,7 +228,7 @@ impl State { } } -#[derive(Deserialize, Serialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct Account { pub name: String, @@ -243,14 +243,14 @@ impl Object for Account { const NAME: &'static str = stringify!(Account); } -#[derive(Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug)] pub struct BlobObject; impl Object for BlobObject { const NAME: &'static str = "Blob"; } -#[derive(Clone, Copy, Deserialize, Serialize, Debug)] +#[derive(Clone, Copy, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct BlobGet; @@ -267,7 +267,7 @@ impl Method for BlobGet { /// - `account_id`: `Id` /// /// The id of the account to use. -#[derive(Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Get where @@ -389,7 +389,7 @@ impl Serialize for Get { } } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct MethodResponse<'a> { #[serde(borrow)] @@ -400,7 +400,7 @@ pub struct MethodResponse<'a> { pub session_state: State, } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct GetResponse { pub account_id: Id, @@ -427,7 +427,7 @@ impl GetResponse { _impl!(get_mut not_found_mut, not_found: Vec>); } -#[derive(Deserialize, Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Deserialize)] #[serde(rename_all = "camelCase")] enum JmapError { RequestTooLarge, @@ -435,7 +435,7 @@ enum JmapError { InvalidResultReference, } -#[derive(Serialize, Clone, Debug)] +#[derive(Clone, Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct Query, OBJ> where @@ -508,7 +508,7 @@ pub fn bool_true() -> bool { true } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct QueryResponse { pub account_id: Id, @@ -578,7 +578,7 @@ impl, OBJ: Object> From<&'static str> for ResultField { /// to return. If supplied by the client, the value MUST be a /// positive integer greater than 0. If a value outside of this range /// is given, the server MUST re -#[derive(Deserialize, Serialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] /* ch-ch-ch-ch-ch-Changes */ pub struct Changes @@ -640,7 +640,7 @@ where } } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct ChangesResponse { pub account_id: Id, @@ -682,7 +682,7 @@ impl ChangesResponse { /// and dependencies that may exist if doing multiple operations at once /// (for example, to ensure there is always a minimum number of a certain /// record type). -#[derive(Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Set where @@ -834,7 +834,7 @@ impl Serialize for Set { } } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct SetResponse { /// o accountId: `Id` @@ -905,7 +905,7 @@ impl std::convert::TryFrom<&RawValue> for SetRes } } -#[derive(Deserialize, Serialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] #[serde(tag = "type", content = "description")] pub enum SetError { @@ -1058,7 +1058,7 @@ pub fn upload_request_format(upload_url: &str, account_id: &Id) -> Stri ret } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct UploadResponse { /// o accountId: `Id` @@ -1091,7 +1091,7 @@ pub struct UploadResponse { /// The `Foo/queryChanges` method allows a client to efficiently update /// the state of a cached query to match the new state on the server. It /// takes the following arguments: -#[derive(Serialize, Clone, Debug)] +#[derive(Clone, Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct QueryChanges, OBJ> where @@ -1160,7 +1160,7 @@ where _impl!(calculate_total: bool); } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct QueryChangesResponse { /// The id of the account used for the call. @@ -1241,7 +1241,7 @@ pub struct QueryChangesResponse { pub added: Vec>, } -#[derive(Serialize, Deserialize, Clone, Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct AddedItem { pub id: Id, diff --git a/melib/src/jmap/rfc8620/argument.rs b/melib/src/jmap/rfc8620/argument.rs index 159822ea..75f84ef3 100644 --- a/melib/src/jmap/rfc8620/argument.rs +++ b/melib/src/jmap/rfc8620/argument.rs @@ -26,7 +26,7 @@ use crate::jmap::{ rfc8620::{Object, ResultField}, }; -#[derive(Deserialize, Serialize, Clone, PartialEq, Eq, Hash, Debug)] +#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] #[serde(rename_all = "camelCase", untagged)] pub enum Argument { Value(T), diff --git a/melib/src/jmap/rfc8620/comparator.rs b/melib/src/jmap/rfc8620/comparator.rs index 3f4bbb8a..ee370fd2 100644 --- a/melib/src/jmap/rfc8620/comparator.rs +++ b/melib/src/jmap/rfc8620/comparator.rs @@ -21,7 +21,7 @@ use super::*; -#[derive(Serialize, Clone, Debug)] +#[derive(Clone, Debug, Serialize)] #[serde(rename_all = "camelCase")] pub struct Comparator { property: String, diff --git a/melib/src/jmap/rfc8620/filters.rs b/melib/src/jmap/rfc8620/filters.rs index b877db8a..e656e94d 100644 --- a/melib/src/jmap/rfc8620/filters.rs +++ b/melib/src/jmap/rfc8620/filters.rs @@ -22,7 +22,7 @@ use super::*; pub trait FilterTrait: Default {} -#[derive(Serialize, Debug)] +#[derive(Debug, Serialize)] #[serde(rename_all = "camelCase")] #[serde(untagged)] pub enum Filter, OBJ: Object> { @@ -36,7 +36,7 @@ pub enum Filter, OBJ: Object> { impl, OBJ: Object> FilterTrait for Filter {} impl, OBJ: Object> FilterTrait for FilterCondition {} -#[derive(Serialize, Debug)] +#[derive(Debug, Serialize)] pub struct FilterCondition, OBJ: Object> { #[serde(flatten)] pub cond: F, @@ -44,7 +44,7 @@ pub struct FilterCondition, OBJ: Object> { pub _ph: PhantomData OBJ>, } -#[derive(Serialize, Debug, Eq, PartialEq)] +#[derive(Debug, Eq, PartialEq, Serialize)] #[serde(rename_all = "UPPERCASE")] pub enum FilterOperator { And, diff --git a/melib/src/jmap/session.rs b/melib/src/jmap/session.rs index 05031566..400aace5 100644 --- a/melib/src/jmap/session.rs +++ b/melib/src/jmap/session.rs @@ -29,7 +29,7 @@ use crate::jmap::{ IdentityObject, }; -#[derive(Deserialize, Serialize, Debug, Clone, Default)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct Session { pub capabilities: IndexMap, @@ -52,7 +52,7 @@ impl Object for Session { const NAME: &'static str = stringify!(Session); } -#[derive(Deserialize, Serialize, Clone, Default, Debug)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct CapabilitiesObject { #[serde(default)] diff --git a/melib/src/lib.rs b/melib/src/lib.rs index 8271bee0..b9de309f 100644 --- a/melib/src/lib.rs +++ b/melib/src/lib.rs @@ -192,7 +192,7 @@ pub extern crate smallvec; pub extern crate smol; pub extern crate uuid; -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] #[repr(transparent)] pub struct BytesDisplay(pub usize); diff --git a/melib/src/maildir/mod.rs b/melib/src/maildir/mod.rs index b7562696..5ca4a760 100644 --- a/melib/src/maildir/mod.rs +++ b/melib/src/maildir/mod.rs @@ -114,7 +114,7 @@ impl BackendOp for MaildirOp { } } -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct MaildirMailbox { hash: MailboxHash, name: String, diff --git a/melib/src/mbox/mod.rs b/melib/src/mbox/mod.rs index 04483f60..2c63ca59 100644 --- a/melib/src/mbox/mod.rs +++ b/melib/src/mbox/mod.rs @@ -328,7 +328,7 @@ impl BackendOp for MboxOp { } } -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum MboxMetadata { /// Dovecot uses C-Client (ie. UW-IMAP, Pine) compatible headers in mbox /// messages to store me @@ -347,7 +347,7 @@ pub enum MboxMetadata { /// Choose between "mboxo", "mboxrd", "mboxcl", "mboxcl2". For new mailboxes, /// prefer "mboxcl2" which does not alter the mail body. -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum MboxFormat { MboxO, MboxRd, diff --git a/melib/src/nntp/connection.rs b/melib/src/nntp/connection.rs index f260f48d..950d2d08 100644 --- a/melib/src/nntp/connection.rs +++ b/melib/src/nntp/connection.rs @@ -35,7 +35,7 @@ pub use smol::Async as AsyncWrapper; use super::{Capabilities, NntpServerConf, UIDStore}; -#[derive(Debug, Default, Clone, Copy)] +#[derive(Clone, Copy, Debug, Default)] pub struct NntpExtensionUse { pub deflate: bool, } @@ -48,7 +48,7 @@ pub struct NntpStream { pub supports_submission: bool, } -#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum MailboxSelection { None, Select(MailboxHash), diff --git a/melib/src/nntp/mailbox.rs b/melib/src/nntp/mailbox.rs index 7cb0d088..0dffe702 100644 --- a/melib/src/nntp/mailbox.rs +++ b/melib/src/nntp/mailbox.rs @@ -29,7 +29,7 @@ use crate::{ UnixTimestamp, }; -#[derive(Debug, Default, Clone)] +#[derive(Clone, Debug, Default)] pub struct NntpMailbox { pub(super) hash: MailboxHash, pub(super) nntp_path: String, diff --git a/melib/src/nntp/mod.rs b/melib/src/nntp/mod.rs index c2198bdb..bc64b739 100644 --- a/melib/src/nntp/mod.rs +++ b/melib/src/nntp/mod.rs @@ -103,7 +103,7 @@ pub static SUPPORTED_CAPABILITIES: &[&str] = &[ "AUTHINFO USER", ]; -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct NntpServerConf { pub server_hostname: String, pub server_username: String, diff --git a/melib/src/nntp/operations.rs b/melib/src/nntp/operations.rs index f0e65adc..963790e0 100644 --- a/melib/src/nntp/operations.rs +++ b/melib/src/nntp/operations.rs @@ -25,7 +25,7 @@ use super::*; use crate::{backends::*, error::Error}; /// `BackendOp` implementor for Nntp -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct NntpOp { uid: usize, mailbox_hash: MailboxHash, diff --git a/melib/src/notmuch/bindings.rs b/melib/src/notmuch/bindings.rs index acb42576..14ca1522 100644 --- a/melib/src/notmuch/bindings.rs +++ b/melib/src/notmuch/bindings.rs @@ -80,67 +80,67 @@ pub use self::_notmuch_status as notmuch_status_t; pub type notmuch_status_to_string = unsafe extern "C" fn(status: notmuch_status_t) -> *const ::std::os::raw::c_char; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_database { _unused: [u8; 0], } pub type notmuch_database_t = _notmuch_database; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_query { _unused: [u8; 0], } pub type notmuch_query_t = _notmuch_query; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_threads { _unused: [u8; 0], } pub type notmuch_threads_t = _notmuch_threads; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_thread { _unused: [u8; 0], } pub type notmuch_thread_t = _notmuch_thread; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_messages { _unused: [u8; 0], } pub type notmuch_messages_t = _notmuch_messages; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_message { _unused: [u8; 0], } pub type notmuch_message_t = _notmuch_message; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_tags { _unused: [u8; 0], } pub type notmuch_tags_t = _notmuch_tags; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_directory { _unused: [u8; 0], } pub type notmuch_directory_t = _notmuch_directory; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_filenames { _unused: [u8; 0], } pub type notmuch_filenames_t = _notmuch_filenames; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_config_list { _unused: [u8; 0], } pub type notmuch_config_list_t = _notmuch_config_list; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_indexopts { _unused: [u8; 0], } @@ -1636,7 +1636,7 @@ pub type notmuch_message_remove_all_properties_with_prefix = ) -> notmuch_status_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] +#[derive(Clone, Copy, Debug)] pub struct _notmuch_string_map_iterator { _unused: [u8; 0], } diff --git a/melib/src/notmuch/mod.rs b/melib/src/notmuch/mod.rs index a70c711c..6f46de3f 100644 --- a/melib/src/notmuch/mod.rs +++ b/melib/src/notmuch/mod.rs @@ -251,7 +251,7 @@ pub struct NotmuchDb { unsafe impl Send for NotmuchDb {} unsafe impl Sync for NotmuchDb {} -#[derive(Debug, Clone, Default)] +#[derive(Clone, Debug, Default)] struct NotmuchMailbox { hash: MailboxHash, children: Vec, diff --git a/melib/src/search.rs b/melib/src/search.rs index 38c006e5..d59189eb 100644 --- a/melib/src/search.rs +++ b/melib/src/search.rs @@ -29,7 +29,7 @@ use crate::utils::{ parsec::*, }; -#[derive(Debug, PartialEq, Clone, Serialize)] +#[derive(Clone, Debug, PartialEq, Serialize)] pub enum Query { Before(UnixTimestamp), After(UnixTimestamp), diff --git a/melib/src/sieve.rs b/melib/src/sieve.rs index 356bb907..59445585 100644 --- a/melib/src/sieve.rs +++ b/melib/src/sieve.rs @@ -21,7 +21,7 @@ use crate::utils::parsec::*; -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct RuleBlock(pub Vec); /* @@ -40,7 +40,7 @@ pub struct RuleBlock(pub Vec); ; "eq" means "equal to", the C operator "==". ; "ne" means "not equal to", the C operator "!=". */ -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum ActionCommand { Keep, Fileinto { mailbox: String }, @@ -48,7 +48,7 @@ pub enum ActionCommand { Discard, } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum ControlCommand { Stop, Require(Vec), @@ -59,27 +59,27 @@ pub enum ControlCommand { }, } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum Rule { Block(RuleBlock), Action(ActionCommand), Control(ControlCommand), } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum AddressOperator { All, Localpart, Domain, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum IntegerOperator { Over, Under, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] /// RFC 5231 Sieve Email Filtering: Relational Extension pub enum RelationalMatch { /// "gt" means "greater than", the C operator ">". @@ -96,7 +96,7 @@ pub enum RelationalMatch { Ne, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum MatchOperator { Is, Matches, @@ -105,7 +105,7 @@ pub enum MatchOperator { Value(RelationalMatch), } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum CharacterOperator { /// i;octet, Octet, @@ -113,7 +113,7 @@ pub enum CharacterOperator { AsciiCasemap, } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ZoneRule { /// "year" => the year, "0000" .. "9999". Year, @@ -158,7 +158,7 @@ pub enum ZoneRule { Weekday, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum ConditionRule { /// Logical OR operation. AnyOf(Vec), diff --git a/melib/src/smtp.rs b/melib/src/smtp.rs index bf3cbd12..58c97a38 100644 --- a/melib/src/smtp.rs +++ b/melib/src/smtp.rs @@ -88,7 +88,7 @@ use crate::{ }; /// Kind of server security (StartTLS/TLS/None) the client should attempt -#[derive(Debug, Copy, PartialEq, Eq, Clone, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)] #[serde(tag = "type")] pub enum SmtpSecurity { #[serde(alias = "starttls", alias = "STARTTLS")] @@ -119,7 +119,7 @@ impl Default for SmtpSecurity { } /// Source of user's password for SMTP authentication -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] #[serde(tag = "type", content = "value")] pub enum Password { #[serde(alias = "raw")] @@ -129,7 +129,7 @@ pub enum Password { } /// Kind of server authentication the client should attempt -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] #[serde(tag = "type")] pub enum SmtpAuth { #[serde(alias = "none")] @@ -152,7 +152,7 @@ pub enum SmtpAuth { // md5, sasl, etc } -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize, Default)] +#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] pub struct SmtpAuthType { plain: bool, login: bool, @@ -169,7 +169,7 @@ impl SmtpAuth { } /// Server configuration for connecting the SMTP client -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct SmtpServerConf { pub hostname: String, pub port: u16, @@ -184,7 +184,7 @@ pub struct SmtpServerConf { //example: "SIZE 52428800", "8BITMIME", "PIPELINING", "CHUNKING", "PRDR", /// Configured SMTP extensions to use -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct SmtpExtensionSupport { #[serde(default = "crate::conf::true_val")] pipelining: bool, @@ -826,7 +826,7 @@ impl SmtpConnection { pub type ExpectedReplyCode = Option<(ReplyCode, &'static [ReplyCode])>; /// Recognized kinds of SMTP reply codes -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ReplyCode { /// System status, or system help reply _211, @@ -1006,7 +1006,7 @@ impl TryFrom<&'_ str> for ReplyCode { } /// A single line or multi-line server reply, along with its reply code -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct Reply<'s> { pub code: ReplyCode, pub lines: SmallVec<[&'s str; 16]>, @@ -1123,7 +1123,7 @@ mod test { use super::*; const ADDRESS: &str = "localhost:8825"; - #[derive(Debug, Clone)] + #[derive(Clone, Debug)] enum Message { Helo, Mail { @@ -1147,7 +1147,7 @@ mod test { type QueuedMail = ((IpAddr, String), Message); - #[derive(Debug, Clone)] + #[derive(Clone, Debug)] struct MyHandler { mails: Arc>>, stored: Arc>>, diff --git a/melib/src/text_processing/line_break.rs b/melib/src/text_processing/line_break.rs index e2c9ec03..d3adb044 100644 --- a/melib/src/text_processing/line_break.rs +++ b/melib/src/text_processing/line_break.rs @@ -31,7 +31,7 @@ use super::{ types::{LineBreakClass, Reflow}, }; -#[derive(Default, Debug, Eq, PartialEq, Copy, Clone)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum LineBreakCandidate { MandatoryBreak, BreakAllowed, @@ -1205,7 +1205,7 @@ mod segment_tree { use smallvec::SmallVec; - #[derive(Default, Debug, Clone)] + #[derive(Clone, Debug, Default)] pub(super) struct SegmentTree { array: SmallVec<[usize; 1024]>, tree: SmallVec<[usize; 1024]>, @@ -1282,7 +1282,7 @@ mod segment_tree { /// A lazy stateful iterator for line breaking text. Useful for very long text /// where you don't want to linebreak it completely before user requests /// specific lines. -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] pub struct LineBreakText { text: String, reflow: Reflow, @@ -1292,7 +1292,7 @@ pub struct LineBreakText { state: ReflowState, } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] enum ReflowState { No { cur_index: usize, @@ -1323,7 +1323,7 @@ impl ReflowState { } } -#[derive(Debug, Clone)] +#[derive(Clone, Debug)] enum LineBreakTextState { AtLine { cur_index: usize, diff --git a/melib/src/text_processing/types.rs b/melib/src/text_processing/types.rs index a049558c..c3cdf429 100644 --- a/melib/src/text_processing/types.rs +++ b/melib/src/text_processing/types.rs @@ -20,7 +20,7 @@ */ #[allow(clippy::upper_case_acronyms)] -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum LineBreakClass { BK, CM, @@ -123,7 +123,7 @@ impl From<&str> for LineBreakClass { } } -#[derive(PartialEq, Eq, Debug, Copy, Clone, Default)] +#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)] pub enum Reflow { No, All, diff --git a/melib/src/thread.rs b/melib/src/thread.rs index 72145374..3697c82d 100644 --- a/melib/src/thread.rs +++ b/melib/src/thread.rs @@ -465,7 +465,7 @@ impl SubjectPrefix for &str { } } -#[derive(Default, Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Thread { pub root: ThreadNodeHash, pub date: UnixTimestamp, diff --git a/melib/src/utils/datetime.rs b/melib/src/utils/datetime.rs index 8c1a1bfa..5ebed34c 100644 --- a/melib/src/utils/datetime.rs +++ b/melib/src/utils/datetime.rs @@ -92,7 +92,7 @@ extern "C" { #[cfg(not(target_os = "openbsd"))] #[repr(i32)] -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] #[allow(dead_code)] enum LocaleCategoryMask { Time = libc::LC_TIME_MASK, @@ -104,7 +104,7 @@ const _LC_LAST: c_int = 7; #[cfg(target_os = "openbsd")] #[repr(i32)] -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] #[allow(dead_code)] enum LocaleCategoryMask { Time = 1 << libc::LC_TIME, @@ -112,7 +112,7 @@ enum LocaleCategoryMask { } #[repr(i32)] -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] #[allow(dead_code)] enum LocaleCategory { Time = libc::LC_TIME, diff --git a/melib/src/utils/logging.rs b/melib/src/utils/logging.rs index 9ebc36b3..8302fa07 100644 --- a/melib/src/utils/logging.rs +++ b/melib/src/utils/logging.rs @@ -31,7 +31,7 @@ use std::{ use log::{Level, LevelFilter, Log, Metadata, Record}; -#[derive(Copy, Clone, Default, Eq, PartialEq, PartialOrd, Hash, Debug, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, PartialOrd, Serialize)] #[repr(u8)] pub enum LogLevel { OFF = 0, @@ -125,7 +125,7 @@ impl std::fmt::Display for LogLevel { use LogLevel::*; -#[derive(Copy, Clone, Default, Eq, PartialEq, PartialOrd, Hash, Debug, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, Hash, PartialEq, PartialOrd, Serialize)] pub enum Destination { File, #[default] diff --git a/melib/src/utils/mod.rs b/melib/src/utils/mod.rs index 77b26b89..a48f7985 100644 --- a/melib/src/utils/mod.rs +++ b/melib/src/utils/mod.rs @@ -48,7 +48,7 @@ pub mod html_escape { /// ``` /// /// Source: - #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] + #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub enum HtmlEntity { /// Less than sign Lt, @@ -161,14 +161,14 @@ macro_rules! declare_u64_hash { /* Sorting states. */ -#[derive(Debug, Default, Clone, PartialEq, Eq, Copy, Deserialize, Serialize)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] pub enum SortOrder { Asc, #[default] Desc, } -#[derive(Debug, Default, Clone, PartialEq, Eq, Copy, Deserialize, Serialize)] +#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, PartialEq, Serialize)] pub enum SortField { Subject, #[default] diff --git a/melib/src/utils/sqlite3.rs b/melib/src/utils/sqlite3.rs index c84e95da..ea264fb7 100644 --- a/melib/src/utils/sqlite3.rs +++ b/melib/src/utils/sqlite3.rs @@ -26,7 +26,7 @@ pub use rusqlite::{self, params, Connection}; use crate::{error::*, log, Envelope}; -#[derive(Copy, Clone, Debug)] +#[derive(Clone, Copy, Debug)] pub struct DatabaseDescription { pub name: &'static str, pub init_script: Option<&'static str>,