diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dbd77e8720..ab63e5b162 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,9 +103,9 @@ jobs: - os: macos-latest rust: 1.83.0 - # Minimum Supported Rust Version = 1.81.0 + # Minimum Supported Rust Version = 1.77.0 - os: ubuntu-latest - rust: 1.81.0 + rust: 1.77.0 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/Cargo.toml b/Cargo.toml index 1a5f561966..dbf0eb202d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "deltachat" version = "1.152.0" edition = "2021" license = "MPL-2.0" -rust-version = "1.81" +rust-version = "1.77" repository = "https://github.com/deltachat/deltachat-core-rust" [profile.dev] diff --git a/src/chat.rs b/src/chat.rs index 320fffb854..437dbff4ef 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -312,7 +312,7 @@ impl ChatId { /// Create a group or mailinglist raw database record with the given parameters. /// The function does not add SELF nor checks if the record already exists. - #[expect(clippy::too_many_arguments)] + #[allow(clippy::too_many_arguments)] pub(crate) async fn create_multiuser_record( context: &Context, chattype: Chattype, @@ -4444,7 +4444,7 @@ pub(crate) async fn delete_and_reset_all_device_msgs(context: &Context) -> Resul /// /// For example, it can be a message showing that a member was added to a group. /// Doesn't fail if the chat doesn't exist. -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments)] pub(crate) async fn add_info_msg_with_cmd( context: &Context, chat_id: ChatId, diff --git a/src/contact.rs b/src/contact.rs index 61ad7db1f4..6ce4ecfa9f 100644 --- a/src/contact.rs +++ b/src/contact.rs @@ -805,6 +805,7 @@ impl Contact { } let mut name = sanitize_name(name); + #[allow(clippy::collapsible_if)] if origin <= Origin::OutgoingTo { // The user may accidentally have written to a "noreply" address with another MUA: if addr.contains("noreply") diff --git a/src/imap.rs b/src/imap.rs index cbf241071d..50a159b387 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -1301,7 +1301,7 @@ impl Session { /// Returns the last UID fetched successfully and the info about each downloaded message. /// If the message is incorrect or there is a failure to write a message to the database, /// it is skipped and the error is logged. - #[expect(clippy::too_many_arguments)] + #[allow(clippy::too_many_arguments)] pub(crate) async fn fetch_many_msgs( &mut self, context: &Context, @@ -2689,6 +2689,7 @@ mod tests { } } + #[allow(clippy::too_many_arguments)] async fn check_target_folder_combination( folder: &str, mvbox_move: bool, diff --git a/src/mimefactory.rs b/src/mimefactory.rs index 8780073041..8f5f66f015 100644 --- a/src/mimefactory.rs +++ b/src/mimefactory.rs @@ -1047,6 +1047,7 @@ impl MimeFactory { part.body(text) } + #[allow(clippy::cognitive_complexity)] async fn render_message( &mut self, context: &Context, diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 4eb80b4d9e..b8c2358ba9 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -1279,7 +1279,7 @@ impl MimeMessage { Ok(self.parts.len() > old_part_count) } - #[expect(clippy::too_many_arguments)] + #[allow(clippy::too_many_arguments)] async fn do_add_single_file_part( &mut self, context: &Context, diff --git a/src/param.rs b/src/param.rs index f1d3cb7619..d83beef6b7 100644 --- a/src/param.rs +++ b/src/param.rs @@ -371,6 +371,7 @@ impl Params { /// Note that in the [ParamsFile::FsPath] case the blob can be /// created without copying if the path already refers to a valid /// blob. If so a [BlobObject] will be returned. + #[allow(clippy::needless_lifetimes)] pub async fn get_blob<'a>( &self, key: Param, diff --git a/src/pgp.rs b/src/pgp.rs index 804d520c09..f729237d99 100644 --- a/src/pgp.rs +++ b/src/pgp.rs @@ -21,9 +21,11 @@ use tokio::runtime::Handle; use crate::constants::KeyGenType; use crate::key::{DcKey, Fingerprint}; +#[allow(missing_docs)] #[cfg(test)] pub(crate) const HEADER_AUTOCRYPT: &str = "autocrypt-prefer-encrypt"; +#[allow(missing_docs)] pub const HEADER_SETUPCODE: &str = "passphrase-begin"; /// Preferred symmetric encryption algorithm. diff --git a/src/quota.rs b/src/quota.rs index a0e8df346b..0070a76ca3 100644 --- a/src/quota.rs +++ b/src/quota.rs @@ -187,7 +187,7 @@ mod tests { Ok(()) } - #[expect(clippy::assertions_on_constants)] + #[allow(clippy::assertions_on_constants)] #[tokio::test(flavor = "multi_thread", worker_threads = 2)] async fn test_quota_thresholds() -> anyhow::Result<()> { assert!(QUOTA_ALLCLEAR_PERCENTAGE > 50); diff --git a/src/receive_imf.rs b/src/receive_imf.rs index 439731e9b5..3a58c5473b 100644 --- a/src/receive_imf.rs +++ b/src/receive_imf.rs @@ -158,7 +158,7 @@ async fn insert_tombstone(context: &Context, rfc724_mid: &str) -> Result /// If `is_partial_download` is set, it contains the full message size in bytes. /// Do not confuse that with `replace_msg_id` that will be set when the full message is loaded /// later. -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments)] pub(crate) async fn receive_imf_inner( context: &Context, folder: &str, @@ -679,7 +679,7 @@ pub async fn from_field_to_contact_id( /// Creates a `ReceivedMsg` from given parts which might consist of /// multiple messages (if there are multiple attachments). /// Every entry in `mime_parser.parts` produces a new row in the `msgs` table. -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments, clippy::cognitive_complexity)] async fn add_parts( context: &Context, mime_parser: &mut MimeMessage, @@ -1834,7 +1834,7 @@ async fn lookup_chat_by_reply( Ok(Some((parent_chat.id, parent_chat.blocked))) } -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments)] async fn lookup_chat_or_create_adhoc_group( context: &Context, mime_parser: &MimeMessage, @@ -1969,7 +1969,7 @@ async fn is_probably_private_reply( /// than two members, a new ad hoc group is created. /// /// On success the function returns the created (chat_id, chat_blocked) tuple. -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments)] async fn create_group( context: &Context, mime_parser: &mut MimeMessage, @@ -2089,6 +2089,7 @@ async fn create_group( /// just omitted. /// /// * `is_partial_download` - whether the message is not fully downloaded. +#[allow(clippy::too_many_arguments)] async fn apply_group_changes( context: &Context, mime_parser: &mut MimeMessage, diff --git a/src/smtp.rs b/src/smtp.rs index 84b0936426..7bc51a2780 100644 --- a/src/smtp.rs +++ b/src/smtp.rs @@ -104,7 +104,7 @@ impl Smtp { } /// Connect using the provided login params. - #[expect(clippy::too_many_arguments)] + #[allow(clippy::too_many_arguments)] pub async fn connect( &mut self, context: &Context, diff --git a/src/smtp/connect.rs b/src/smtp/connect.rs index 869405cd30..5652d14272 100644 --- a/src/smtp/connect.rs +++ b/src/smtp/connect.rs @@ -45,7 +45,7 @@ async fn new_smtp_transport( Ok(transport) } -#[expect(clippy::too_many_arguments)] +#[allow(clippy::too_many_arguments)] pub(crate) async fn connect_and_auth( context: &Context, proxy_config: &Option,