diff --git a/meli/src/terminal/embed/grid.rs b/meli/src/terminal/embed/grid.rs index f74b9c42..9feba192 100644 --- a/meli/src/terminal/embed/grid.rs +++ b/meli/src/terminal/embed/grid.rs @@ -347,6 +347,7 @@ impl EmbedGrid { }; } + #[allow(clippy::redundant_locals)] let mut state = state; match (byte, &mut state) { (b'\x1b', State::Normal) => { diff --git a/meli/src/utilities/tables.rs b/meli/src/utilities/tables.rs index 5b8217b0..1b340794 100644 --- a/meli/src/utilities/tables.rs +++ b/meli/src/utilities/tables.rs @@ -142,7 +142,6 @@ impl Default for DataColumns { elem.write(cl()); } let ptr = &data as *const [MaybeUninit; N]; - std::mem::forget(data); unsafe { (ptr as *const [T; N]).read() } } Self { diff --git a/melib/src/imap/connection.rs b/melib/src/imap/connection.rs index 0ede2a79..2ddf974e 100644 --- a/melib/src/imap/connection.rs +++ b/melib/src/imap/connection.rs @@ -180,8 +180,13 @@ impl ImapStream { let mut socket = AsyncWrapper::new({ let conn = Connection::new_tcp(tcp_stream_connect(addr, server_conf.timeout)?); #[cfg(feature = "imap-trace")] - let conn = conn.trace(true).with_id("imap"); - conn + { + conn.trace(true).with_id("imap") + } + #[cfg(not(feature = "imap-trace"))] + { + conn + } })?; if server_conf.use_starttls { let err_fn = || { @@ -278,8 +283,13 @@ impl ImapStream { AsyncWrapper::new({ let conn = Connection::new_tcp(tcp_stream_connect(addr, server_conf.timeout)?); #[cfg(feature = "imap-trace")] - let conn = conn.trace(true).with_id("imap"); - conn + { + conn.trace(true).with_id("imap") + } + #[cfg(not(feature = "imap-trace"))] + { + conn + } })? }; if let Err(err) = stream @@ -442,17 +452,16 @@ impl ImapStream { } } - if capabilities.is_none() { + if let Some(capabilities) = capabilities { + Ok((capabilities, ret)) + } else { /* sending CAPABILITY after LOGIN automatically is an RFC recommendation, so * check for lazy servers */ ret.send_command(CommandBody::Capability).await?; - ret.read_response(&mut res).await.unwrap(); + ret.read_response(&mut res).await?; let capabilities = protocol_parser::capabilities(&res)?.1; let capabilities = HashSet::from_iter(capabilities.into_iter().map(|s| s.to_vec())); Ok((capabilities, ret)) - } else { - let capabilities = capabilities.unwrap(); - Ok((capabilities, ret)) } } diff --git a/melib/src/jmap/rfc8620/filters.rs b/melib/src/jmap/rfc8620/filters.rs index 04b9e536..b877db8a 100644 --- a/melib/src/jmap/rfc8620/filters.rs +++ b/melib/src/jmap/rfc8620/filters.rs @@ -124,9 +124,9 @@ impl, OBJ: Object> Not for Filter { fn not(self) -> Self { match self { Self::Operator { - operator, + operator: FilterOperator::Not, conditions, - } if operator == FilterOperator::Not => Self::Operator { + } => Self::Operator { operator: FilterOperator::Or, conditions, }, diff --git a/melib/src/lib.rs b/melib/src/lib.rs index 42f112bb..8271bee0 100644 --- a/melib/src/lib.rs +++ b/melib/src/lib.rs @@ -185,6 +185,7 @@ pub extern crate nom; #[macro_use] extern crate bitflags; pub extern crate futures; +#[allow(unused_imports)] #[macro_use] pub extern crate indexmap; pub extern crate smallvec; diff --git a/melib/src/nntp/connection.rs b/melib/src/nntp/connection.rs index 7c2d5156..f260f48d 100644 --- a/melib/src/nntp/connection.rs +++ b/melib/src/nntp/connection.rs @@ -83,8 +83,13 @@ impl NntpStream { Some(std::time::Duration::new(16, 0)), )?); #[cfg(feature = "nntp-trace")] - let conn = conn.trace(true).with_id("nntp"); - conn + { + conn.trace(true).with_id("nntp") + } + #[cfg(not(feature = "nntp-trace"))] + { + conn + } })? }; let mut res = String::with_capacity(8 * 1024); @@ -176,8 +181,13 @@ impl NntpStream { ret.stream = AsyncWrapper::new({ let conn = Connection::new_tls(conn_result?); #[cfg(feature = "nntp-trace")] - let conn = conn.trace(true).with_id("nntp"); - conn + { + conn.trace(true).with_id("nntp") + } + #[cfg(not(feature = "nntp-trace"))] + { + conn + } }) .chain_err_summary(|| format!("Could not initiate TLS negotiation to {}.", path))?; } diff --git a/melib/src/smtp.rs b/melib/src/smtp.rs index 2ae93e21..bf3cbd12 100644 --- a/melib/src/smtp.rs +++ b/melib/src/smtp.rs @@ -357,8 +357,13 @@ impl SmtpConnection { AsyncWrapper::new({ let conn = Connection::new_tls(conn); #[cfg(feature = "smtp-trace")] - let conn = conn.trace(true).with_id("smtp"); - conn + { + conn.trace(true).with_id("smtp") + } + #[cfg(not(feature = "smtp-trace"))] + { + conn + } })? }; if matches!(server_conf.security, SmtpSecurity::Tls { .. }) { @@ -382,8 +387,13 @@ impl SmtpConnection { Some(std::time::Duration::new(4, 0)), )?); #[cfg(feature = "smtp-trace")] - let conn = conn.trace(true).with_id("smtp"); - conn + { + conn.trace(true).with_id("smtp") + } + #[cfg(not(feature = "smtp-trace"))] + { + conn + } })?; res.clear(); let reply = read_lines( diff --git a/melib/src/text_processing/line_break.rs b/melib/src/text_processing/line_break.rs index a52705cc..e2c9ec03 100644 --- a/melib/src/text_processing/line_break.rs +++ b/melib/src/text_processing/line_break.rs @@ -839,7 +839,8 @@ fn search_table(c: u32, t: &'static [(u32, u32, LineBreakClass)]) -> LineBreakCl } mod alg { - use super::super::{grapheme_clusters::TextProcessing, *}; + use crate::text_processing::{grapheme_clusters::TextProcessing, *}; + fn cost(i: usize, j: usize, width: usize, minima: &[usize], offsets: &[usize]) -> usize { let w = offsets[j] + j - offsets[i] - i - 1; if w > width { @@ -849,7 +850,7 @@ mod alg { } fn smawk( - rows: &mut Vec, + rows: &Vec, columns: &mut Vec, minima: &mut Vec, breaks: &mut Vec, @@ -876,7 +877,7 @@ mod alg { i += 1; } } - let rows = &mut stack; + let rows = &stack; if columns.len() > 1 { let mut odd_columns = columns.iter().skip(1).step_by(2).cloned().collect(); smawk(rows, &mut odd_columns, minima, breaks, width, offsets); @@ -949,7 +950,7 @@ mod alg { let r = std::cmp::min(n, 2 * i); let edge = i + offset; smawk( - &mut (offset..edge).collect(), + &(offset..edge).collect(), &mut (edge..(r + offset)).collect(), &mut minima, &mut breaks,