mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 17:36:29 +03:00
perf: enable clippy::large_futures lint
Large size of Mimefactor.render() futures increases the size of all callers down to set_config() and background_fetch(). I also had to Box::pin one call to fetch_new_msg_batch and one call to fetch_single_msg.
This commit is contained in:
@@ -2779,15 +2779,13 @@ async fn render_mime_message_and_pre_message(
|
|||||||
|
|
||||||
let mut mimefactory_post_msg = mimefactory.clone();
|
let mut mimefactory_post_msg = mimefactory.clone();
|
||||||
mimefactory_post_msg.set_as_post_message();
|
mimefactory_post_msg.set_as_post_message();
|
||||||
let rendered_msg = mimefactory_post_msg
|
let rendered_msg = Box::pin(mimefactory_post_msg.render(context))
|
||||||
.render(context)
|
|
||||||
.await
|
.await
|
||||||
.context("Failed to render post-message")?;
|
.context("Failed to render post-message")?;
|
||||||
|
|
||||||
let mut mimefactory_pre_msg = mimefactory;
|
let mut mimefactory_pre_msg = mimefactory;
|
||||||
mimefactory_pre_msg.set_as_pre_message_for(&rendered_msg);
|
mimefactory_pre_msg.set_as_pre_message_for(&rendered_msg);
|
||||||
let rendered_pre_msg = mimefactory_pre_msg
|
let rendered_pre_msg = Box::pin(mimefactory_pre_msg.render(context))
|
||||||
.render(context)
|
|
||||||
.await
|
.await
|
||||||
.context("pre-message failed to render")?;
|
.context("pre-message failed to render")?;
|
||||||
|
|
||||||
@@ -2802,7 +2800,7 @@ async fn render_mime_message_and_pre_message(
|
|||||||
|
|
||||||
Ok((Some(rendered_pre_msg), rendered_msg))
|
Ok((Some(rendered_pre_msg), rendered_msg))
|
||||||
} else {
|
} else {
|
||||||
Ok((None, mimefactory.render(context).await?))
|
Ok((None, Box::pin(mimefactory.render(context)).await?))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -173,9 +173,7 @@ pub(crate) async fn download_msg(
|
|||||||
if msg_transport_id != transport_id {
|
if msg_transport_id != transport_id {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
session
|
Box::pin(session.fetch_single_msg(context, &server_folder, server_uid, rfc724_mid)).await?;
|
||||||
.fetch_single_msg(context, &server_folder, server_uid, rfc724_mid)
|
|
||||||
.await?;
|
|
||||||
Ok(Some(()))
|
Ok(Some(()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -589,8 +589,8 @@ impl Imap {
|
|||||||
|
|
||||||
let mut read_cnt = 0;
|
let mut read_cnt = 0;
|
||||||
loop {
|
loop {
|
||||||
let (n, fetch_more) = self
|
let (n, fetch_more) =
|
||||||
.fetch_new_msg_batch(context, session, folder, folder_meaning)
|
Box::pin(self.fetch_new_msg_batch(context, session, folder, folder_meaning))
|
||||||
.await?;
|
.await?;
|
||||||
read_cnt += n;
|
read_cnt += n;
|
||||||
if !fetch_more {
|
if !fetch_more {
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
clippy::cloned_instead_of_copied,
|
clippy::cloned_instead_of_copied,
|
||||||
clippy::manual_is_variant_and
|
clippy::manual_is_variant_and
|
||||||
)]
|
)]
|
||||||
|
#![cfg_attr(not(test), warn(clippy::large_futures))]
|
||||||
#![cfg_attr(not(test), warn(clippy::arithmetic_side_effects))]
|
#![cfg_attr(not(test), warn(clippy::arithmetic_side_effects))]
|
||||||
#![cfg_attr(not(test), forbid(clippy::indexing_slicing))]
|
#![cfg_attr(not(test), forbid(clippy::indexing_slicing))]
|
||||||
#![cfg_attr(not(test), forbid(clippy::string_slice))]
|
#![cfg_attr(not(test), forbid(clippy::string_slice))]
|
||||||
|
|||||||
@@ -580,7 +580,7 @@ async fn send_mdn_rfc724_mid(
|
|||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
let encrypted = mimefactory.will_be_encrypted();
|
let encrypted = mimefactory.will_be_encrypted();
|
||||||
let rendered_msg = mimefactory.render(context).await?;
|
let rendered_msg = Box::pin(mimefactory.render(context)).await?;
|
||||||
let body = rendered_msg.message;
|
let body = rendered_msg.message;
|
||||||
|
|
||||||
let mut recipients = Vec::new();
|
let mut recipients = Vec::new();
|
||||||
|
|||||||
Reference in New Issue
Block a user