chore(clippy): disallow some methods from itertools (#2075)

This commit is contained in:
Luna Yao
2026-04-07 10:27:33 +02:00
committed by GitHub
parent 79b562cdc9
commit b2cc38ee63
3 changed files with 13 additions and 4 deletions
+11
View File
@@ -0,0 +1,11 @@
disallowed-methods = [
{ path = "itertools::Itertools::map_into", reason = "Blocks underlying iterator optimizations. Use the native `.map(Into::into)` instead." },
{ path = "itertools::Itertools::map_ok", reason = "Blocks underlying iterator optimizations. Use the native `.map(|r| r.map(f))` instead." },
{ path = "itertools::Itertools::filter_ok", reason = "Blocks underlying iterator optimizations. Use a native approach, e.g., `.filter(|r| r.as_ref().map_or(true, condition))`." },
{ path = "itertools::Itertools::filter_map_ok", reason = "Blocks underlying iterator optimizations. Use native `.map()` and `.flatten()`, or extract logic into a standard `.filter_map()`." },
{ path = "itertools::Itertools::collect_vec", reason = "Non-standard idiom. Directly use the standard library's `.collect::<Vec<_>>()`." },
{ path = "itertools::Itertools::try_collect", reason = "Non-standard idiom. Standard `collect()` already supports Result/Option inversion; use `.collect::<Result<_, _>>()`." },
{ path = "itertools::Itertools::set_from", reason = "Non-standard idiom. Directly use the `.extend()` method provided by the standard library's `Extend` trait." },
{ path = "itertools::Itertools::concat", reason = "Non-standard idiom. Use native `.flatten().collect()` or a slice's `.concat()` instead." }
]
+1 -2
View File
@@ -14,7 +14,6 @@ use crate::{
use anyhow::Context;
use dashmap::DashSet;
use hickory_resolver::proto::rr::rdata::SRV;
use itertools::Itertools;
use rand::{seq::SliceRandom, Rng as _};
use strum::VariantArray;
@@ -117,7 +116,7 @@ impl DnsTunnelConnector {
let srv_domains = IpScheme::VARIANTS
.iter()
.map(|s| (s, format!("_easytier._{}.{}", s, domain_name)))
.collect_vec();
.collect::<Vec<_>>();
tracing::info!("build srv_domains: {:?}", srv_domains);
let responses = Arc::new(DashSet::new());
let srv_lookup_tasks = srv_domains
+1 -2
View File
@@ -71,7 +71,6 @@ use super::{
};
use atomic_shim::AtomicU64;
use itertools::Itertools;
static SERVICE_ID: u32 = 7;
static UPDATE_PEER_INFO_PERIOD: Duration = Duration::from_secs(3600);
@@ -1327,7 +1326,7 @@ impl RouteTable {
.into_iter()
.flat_map(|info| &info.proxy_cidrs)
.filter_map(|cidr| cidr.parse::<IpCidr>().ok())
.collect_vec();
.collect::<Vec<_>>();
// build next hop map
let (graph, start_node) =