diff --git a/crates/common/src/network/acme/jose.rs b/crates/common/src/network/acme/jose.rs index 9b1ec159..b233c350 100644 --- a/crates/common/src/network/acme/jose.rs +++ b/crates/common/src/network/acme/jose.rs @@ -28,7 +28,7 @@ pub(crate) fn sign( }; let protected = Protected::encode("ES256", jwk, kid, nonce.into(), url)?; let payload = URL_SAFE_NO_PAD.encode(payload); - let combined = format!("{}.{}", &protected, &payload); + let combined = format!("{}.{}", protected, payload); let signature = key .sign(&SystemRandom::new(), combined.as_bytes()) .map_err(|err| AcmeError::Crypto(format!("Failed to sign payload: {}", err)))?; @@ -49,7 +49,7 @@ pub(crate) fn eab_sign( ) -> AcmeResult { let protected = Protected::encode("HS256", None, kid.into(), None, url)?; let payload = Jwk::new(key).base64()?; - let combined = format!("{}.{}", &protected, &payload); + let combined = format!("{}.{}", protected, payload); let key = hmac::Key::new(hmac::HMAC_SHA256, hmac_key); let tag = hmac::sign(&key, combined.as_bytes()); diff --git a/crates/common/src/scripts/functions/array.rs b/crates/common/src/scripts/functions/array.rs index 6d537e49..5d854f0d 100644 --- a/crates/common/src/scripts/functions/array.rs +++ b/crates/common/src/scripts/functions/array.rs @@ -68,7 +68,7 @@ pub fn fn_cosine_similarity<'x>(_: &'x Context<'x>, v: Vec) -> Variabl let mut magnitude_a = 0; let mut magnitude_b = 0; - for (_word, count) in word_freq.iter() { + for count in word_freq.values() { dot_product += count[0] * count[1]; magnitude_a += count[0] * count[0]; magnitude_b += count[1] * count[1]; @@ -95,7 +95,7 @@ pub fn cosine_similarity(a: &[&str], b: &[&str]) -> f64 { let mut magnitude_a = 0; let mut magnitude_b = 0; - for (_word, count) in word_freq.iter() { + for count in word_freq.values() { dot_product += count[0] * count[1]; magnitude_a += count[0] * count[0]; magnitude_b += count[1] * count[1]; diff --git a/crates/imap-proto/src/protocol/mod.rs b/crates/imap-proto/src/protocol/mod.rs index c54f9fa8..6fc87ece 100644 --- a/crates/imap-proto/src/protocol/mod.rs +++ b/crates/imap-proto/src/protocol/mod.rs @@ -208,11 +208,7 @@ pub fn quoted_string(buf: &mut Vec, text: &str) { } pub fn quoted_or_literal_string(buf: &mut Vec, text: &str) { - if text - .as_bytes() - .iter() - .any(|ch| [b'\\', b'"', b'\r', b'\n'].contains(ch)) - { + if text.as_bytes().iter().any(|ch| b"\\\"\r\n".contains(ch)) { literal_string(buf, text.as_bytes()) } else { buf.push(b'"'); diff --git a/crates/jmap/src/vacation/set.rs b/crates/jmap/src/vacation/set.rs index cfd8b235..8edfc108 100644 --- a/crates/jmap/src/vacation/set.rs +++ b/crates/jmap/src/vacation/set.rs @@ -408,7 +408,7 @@ impl VacationResponseSet for Server { script.push(b'\"'); for ch in message_body { - if [b'\\', b'\"'].contains(&ch) { + if b"\\\"".contains(&ch) { script.push(b'\\'); } script.push(ch); diff --git a/crates/managesieve/src/core/mod.rs b/crates/managesieve/src/core/mod.rs index 57e0194f..ce1239c7 100644 --- a/crates/managesieve/src/core/mod.rs +++ b/crates/managesieve/src/core/mod.rs @@ -208,7 +208,7 @@ impl StatusResponse { if !self.message.is_empty() { buf.extend_from_slice(b" \""); for ch in self.message.as_bytes() { - if [b'\"', b'\\'].contains(ch) { + if b"\"\\".contains(ch) { buf.push(b'\\'); } buf.push(*ch); @@ -290,7 +290,7 @@ impl SerializeResponse for trc::Error { .unwrap_or_else(|| self.as_ref().message()); buf.extend_from_slice(b" \""); for ch in message.as_bytes() { - if [b'\"', b'\\'].contains(ch) { + if b"\"\\".contains(ch) { buf.push(b'\\'); } buf.push(*ch); diff --git a/crates/managesieve/src/op/listscripts.rs b/crates/managesieve/src/op/listscripts.rs index 58da4b8a..4d09f29f 100644 --- a/crates/managesieve/src/op/listscripts.rs +++ b/crates/managesieve/src/op/listscripts.rs @@ -54,7 +54,7 @@ impl Session { .caused_by(trc::location!())?; response.push(b'\"'); for ch in script.name.as_bytes() { - if [b'\\', b'\"'].contains(ch) { + if b"\\\"".contains(ch) { response.push(b'\\'); } response.push(*ch); diff --git a/tests/src/jmap/compliance/mod.rs b/tests/src/jmap/compliance/mod.rs index 438a73aa..5f23f4c5 100644 --- a/tests/src/jmap/compliance/mod.rs +++ b/tests/src/jmap/compliance/mod.rs @@ -81,7 +81,7 @@ pub fn check_contains(haystack: &str, needle: &str, msg: impl std::fmt::Display) } else { Err(Fail::Assert(format!( "{msg}: expected to contain {needle:?}, got {:?}", - &haystack.chars().take(200).collect::() + haystack.chars().take(200).collect::() ))) } } diff --git a/tests/src/smtp/inbound/milter.rs b/tests/src/smtp/inbound/milter.rs index 045c9b4f..3fc44433 100644 --- a/tests/src/smtp/inbound/milter.rs +++ b/tests/src/smtp/inbound/milter.rs @@ -726,7 +726,7 @@ async fn accept_milter( "shutdown" => Action::Shutdown, "conn_fail" => Action::ConnectionFailure, "reply_code" => Action::ReplyCode { - code: [b'3', b'2', b'1'], + code: *b"321", text: "test".into(), }, test_num => { diff --git a/tests/src/webdav/cal_itip.rs b/tests/src/webdav/cal_itip.rs index 0c83d4b0..06cc4781 100644 --- a/tests/src/webdav/cal_itip.rs +++ b/tests/src/webdav/cal_itip.rs @@ -142,12 +142,12 @@ pub fn test() { last_itip = Some(itip_update( &mut ical, entry.get_mut(), - &[account.to_string()], + std::slice::from_ref(account), )); entry.insert(ical); } Entry::Vacant(entry) => { - last_itip = Some(itip_create(&mut ical, &[account.to_string()])); + last_itip = Some(itip_create(&mut ical, std::slice::from_ref(account))); entry.insert(ical); } } @@ -247,7 +247,7 @@ pub fn test() { for rcpt in &message.to { let result = match itip_snapshot( &message.message, - &[rcpt.to_string()], + std::slice::from_ref(rcpt), false, ) { Ok(itip_snapshots) => { @@ -260,7 +260,7 @@ pub fn test() { let ical = entry.get_mut(); let snapshots = itip_snapshot( ical, - &[rcpt.to_string()], + std::slice::from_ref(rcpt), false, ) .expect("Failed to create iTIP snapshot");