chore: apply clippy --fix

* Fix clippy

* cargo fmt

Refs: #689
This commit is contained in:
Bowen Ho
2026-05-24 21:08:23 +08:00
committed by GitHub
parent 68ff784c24
commit 8030ef5c50
9 changed files with 64 additions and 48 deletions
+4 -2
View File
@@ -182,8 +182,10 @@ fn map_envelopes_table_entries(
let mut entries: Vec<EnvelopesTableEntry> = data
.into_iter()
.map(|(seq, items)| {
let mut entry = EnvelopesTableEntry::default();
entry.seq = seq.get();
let mut entry = EnvelopesTableEntry {
seq: seq.get(),
..Default::default()
};
for item in items.into_iter() {
match item {
+2 -4
View File
@@ -154,10 +154,8 @@ fn fetch_subjects(
for item in items.into_iter() {
match item {
MessageDataItem::Uid(uid_val) => {
if uid {
id = uid_val.get();
}
MessageDataItem::Uid(uid_val) if uid => {
id = uid_val.get();
}
MessageDataItem::Envelope(env) => {
// NString wraps Option<IString>, access via .0
+4 -2
View File
@@ -53,8 +53,10 @@ impl JmapMailboxCreateCommand {
let mut create = BTreeMap::new();
create.insert(self.name.clone(), new_mailbox);
let mut args = JmapMailboxSetArgs::default();
args.create = Some(create);
let args = JmapMailboxSetArgs {
create: Some(create),
..Default::default()
};
let output = client.mailbox_set(args)?;
+5 -3
View File
@@ -36,9 +36,11 @@ pub struct JmapMailboxDestroyCommand {
impl JmapMailboxDestroyCommand {
pub fn execute(self, printer: &mut impl Printer, mut client: JmapClient) -> Result<()> {
let mut args = JmapMailboxSetArgs::default();
args.destroy = Some(self.ids.clone());
args.on_destroy_remove_emails = if self.purge { Some(true) } else { None };
let args = JmapMailboxSetArgs {
destroy: Some(self.ids.clone()),
on_destroy_remove_emails: if self.purge { Some(true) } else { None },
..Default::default()
};
let output = client.mailbox_set(args)?;
+4 -2
View File
@@ -77,8 +77,10 @@ impl JmapMailboxUpdateCommand {
let mut update = BTreeMap::new();
update.insert(self.id.clone(), patch);
let mut args = JmapMailboxSetArgs::default();
args.update = Some(update);
let args = JmapMailboxSetArgs {
update: Some(update),
..Default::default()
};
let output = client.mailbox_set(args)?;
+14 -12
View File
@@ -54,18 +54,20 @@ impl MaildirEnvelopeListCommand {
continue;
};
let mut row = EnvelopesTableEntry::default();
row.id = id;
row.subject = parsed.subject().unwrap_or("").to_owned();
if let Some(addr) = parsed.from().and_then(|a| a.first()) {
row.from = addr.name().or(addr.address()).unwrap_or("").to_owned();
}
if let Some(date) = parsed.date() {
row.date = date.to_rfc822();
}
let row = EnvelopesTableEntry {
id,
subject: parsed.subject().unwrap_or("").to_owned(),
from: parsed
.from()
.and_then(|a| a.first())
.and_then(|addr| addr.name().or(addr.address()))
.map(str::to_owned)
.unwrap_or_default(),
date: parsed
.date()
.map(|date| date.to_rfc822())
.unwrap_or_default(),
};
envelopes.push(row);
}
+1 -1
View File
@@ -378,7 +378,7 @@ fn mime_for(path: &Path) -> &'static str {
{
let guess = mime_guess::from_path(path).first_or_octet_stream();
let s = guess.essence_str().to_string();
return Box::leak(s.into_boxed_str());
Box::leak(s.into_boxed_str())
}
#[cfg(not(feature = "maildir"))]
{
+4 -8
View File
@@ -71,10 +71,8 @@ pub fn extract_envelope(raw: &[u8]) -> Result<(String, Vec<String>)> {
.ok_or_else(|| anyhow!("failed to parse outgoing message"))?;
let mut from_emails = Vec::new();
if let Some(header) = parsed.header("From").cloned() {
if let HeaderValue::Address(addr) = header {
collect_emails(addr, &mut from_emails);
}
if let Some(HeaderValue::Address(addr)) = parsed.header("From").cloned() {
collect_emails(addr, &mut from_emails);
}
let from = from_emails
.into_iter()
@@ -83,10 +81,8 @@ pub fn extract_envelope(raw: &[u8]) -> Result<(String, Vec<String>)> {
let mut to = Vec::new();
for name in ["To", "Cc", "Bcc"] {
if let Some(header) = parsed.header(name).cloned() {
if let HeaderValue::Address(addr) = header {
collect_emails(addr, &mut to);
}
if let Some(HeaderValue::Address(addr)) = parsed.header(name).cloned() {
collect_emails(addr, &mut to);
}
}
+26 -14
View File
@@ -21,7 +21,7 @@
//! spinner.
use io_discovery::autoconfig::{
client::DiscoveryAutoconfigClientStd,
client::{DiscoveryAutoconfigClientStd, DiscoveryAutoconfigClientStdError},
types::{Autoconfig, SecurityType, Server, ServerType},
};
use log::debug;
@@ -35,31 +35,43 @@ use pimalaya_cli::{
use crate::wizard::discover::{DiscoveryResult, discovery_resolver, discovery_tls};
struct Attempt<'a> {
label: &'a str,
run: &'a dyn Fn(
&mut DiscoveryAutoconfigClientStd,
) -> Result<Autoconfig, DiscoveryAutoconfigClientStdError>,
}
pub fn run(local_part: &str, domain: &str) -> Option<Autoconfig> {
let mut client =
DiscoveryAutoconfigClientStd::new(discovery_resolver()).with_tls(discovery_tls());
let attempts: [(&str, &dyn Fn(&mut DiscoveryAutoconfigClientStd) -> _); 3] = [
("Autoconfig ISP main URL", &|c| {
c.isp(local_part, domain, true)
}),
("Autoconfig ISP fallback URL", &|c| {
c.isp_fallback(domain, true)
}),
("Thunderbird ISPDB", &|c| c.ispdb(domain, true)),
let attempts = [
Attempt {
label: "Autoconfig ISP main URL",
run: &|c| c.isp(local_part, domain, true),
},
Attempt {
label: "Autoconfig ISP fallback URL",
run: &|c| c.isp_fallback(domain, true),
},
Attempt {
label: "Thunderbird ISPDB",
run: &|c| c.ispdb(domain, true),
},
];
for (label, run) in attempts {
let spinner = Spinner::start(format!("Probing {label} for {domain}"));
for attempt in attempts {
let spinner = Spinner::start(format!("Probing {} for {domain}", attempt.label));
match run(&mut client) {
match (attempt.run)(&mut client) {
Ok(config) => {
spinner.success(summary(domain, &config));
return Some(config);
}
Err(err) => {
debug!("{label} for {domain} failed: {err}");
spinner.failure(format!("{label}: not available for {domain}"));
debug!("{} for {domain} failed: {err}", attempt.label);
spinner.failure(format!("{}: not available for {domain}", attempt.label));
}
}
}