Skip to content

Commit

Permalink
fix: Use clippy from Stable Rust (#766)
Browse files Browse the repository at this point in the history
* chore: Apply clippy lints from Rust 1.76

* fix: Use clippy from Stable Rust in CI and Release workflows

* chore: Cargo fmt run

* chore: Apply Clippy lints from Rust 1.76 (manual)
  • Loading branch information
fuzzypixelz authored Mar 5, 2024
1 parent 8730335 commit ac45542
Show file tree
Hide file tree
Showing 18 changed files with 100 additions and 99 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ jobs:
run: cargo fmt --check

- name: Clippy
run: cargo clippy --all-targets -- --deny warnings
run: cargo +stable clippy --all-targets -- --deny warnings

- name: Clippy unstable targets
run: cargo clippy --all-targets --features unstable -- --deny warnings
run: cargo +stable clippy --all-targets --features unstable -- --deny warnings

- name: Clippy all features
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' }}
run: cargo clippy --all-targets --all-features -- --deny warnings
run: cargo +stable clippy --all-targets --all-features -- --deny warnings

- name: Install generic no_std target
# Generic no_std target architecture is x86_64-unknown-none
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ jobs:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy check
run: cargo clippy --all-targets --features=${{ github.event.inputs.features}} -- --deny warnings
run: cargo +stable clippy --all-targets --features=${{ github.event.inputs.features}} -- --deny warnings

- name: Clippy unstable check
run: cargo clippy --all-targets -- --deny warnings
run: cargo +stable clippy --all-targets -- --deny warnings

- name: Clippy all features
run: cargo clippy --all-targets --all-features -- --deny warnings
run: cargo +stable clippy --all-targets --all-features -- --deny warnings

- name: Environment setup
id: env
Expand Down
2 changes: 1 addition & 1 deletion commons/zenoh-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
//! [Click here for Zenoh's documentation](../zenoh/index.html)
pub use lazy_static::lazy_static;
pub mod macros;
pub use macros::*;

use std::future::{Future, Ready};

// Re-exports after moving ZError/ZResult to zenoh-result
Expand Down
5 changes: 3 additions & 2 deletions commons/zenoh-keyexpr/src/key_expr/format/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ impl<'s, Storage: IKeFormatStorage<'s>> KeFormatter<'s, Storage> {
let pattern = segments[i].spec.pattern();
let start = self.buffer.len();
write!(&mut self.buffer, "{value}").unwrap(); // Writing on `&mut String` should be infallible.
match (|| {
let mut set_value = || {
let end = self.buffer.len();
if start == end {
if !pattern.is_double_wild() {
Expand All @@ -529,7 +529,8 @@ impl<'s, Storage: IKeFormatStorage<'s>> KeFormatter<'s, Storage> {
NonMaxU32::new(end.try_into().map_err(|_| ())?).ok_or(())?,
));
Ok(())
})() {
};
match set_value() {
Ok(()) => Ok(self),
Err(()) => {
self.buffer.truncate(start);
Expand Down
6 changes: 3 additions & 3 deletions commons/zenoh-keyexpr/src/key_expr/include.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pub struct LTRIncluder;
impl Includer<&[u8], &[u8]> for LTRIncluder {
fn includes(&self, mut left: &[u8], mut right: &[u8]) -> bool {
loop {
let (lchunk, lrest) = left.split_once(&DELIMITER);
let (lchunk, lrest) = Split::split_once(left, &DELIMITER);
let lempty = lrest.is_empty();
if lchunk == DOUBLE_WILD {
if (lempty && !right.has_verbatim()) || (!lempty && self.includes(lrest, right)) {
Expand All @@ -44,12 +44,12 @@ impl Includer<&[u8], &[u8]> for LTRIncluder {
if unsafe { right.has_direct_verbatim_non_empty() } {
return false;
}
right = right.split_once(&DELIMITER).1;
right = Split::split_once(right, &DELIMITER).1;
if right.is_empty() {
return false;
}
} else {
let (rchunk, rrest) = right.split_once(&DELIMITER);
let (rchunk, rrest) = Split::split_once(right, &DELIMITER);
if rchunk.is_empty()
|| rchunk == DOUBLE_WILD
|| !self.non_double_wild_chunk_includes(lchunk, rchunk)
Expand Down
12 changes: 6 additions & 6 deletions commons/zenoh-protocol/src/core/endpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ impl Parameters {
}
}

pub fn iter(s: &str) -> impl Iterator<Item = (&str, &str)> + DoubleEndedIterator {
pub fn iter(s: &str) -> impl DoubleEndedIterator<Item = (&str, &str)> {
s.split(LIST_SEPARATOR).filter_map(|prop| {
if prop.is_empty() {
None
Expand All @@ -99,7 +99,7 @@ impl Parameters {
Self::iter(s).find(|x| x.0 == k).map(|x| x.1)
}

pub fn values<'s>(s: &'s str, k: &str) -> impl Iterator<Item = &'s str> + DoubleEndedIterator {
pub fn values<'s>(s: &'s str, k: &str) -> impl DoubleEndedIterator<Item = &'s str> {
match Self::get(s, k) {
Some(v) => v.split(VALUE_SEPARATOR),
None => {
Expand Down Expand Up @@ -277,15 +277,15 @@ impl<'a> Metadata<'a> {
self.as_str().is_empty()
}

pub fn iter(&'a self) -> impl Iterator<Item = (&'a str, &'a str)> + DoubleEndedIterator {
pub fn iter(&'a self) -> impl DoubleEndedIterator<Item = (&'a str, &'a str)> {
Parameters::iter(self.0)
}

pub fn get(&'a self, k: &str) -> Option<&'a str> {
Parameters::get(self.0, k)
}

pub fn values(&'a self, k: &str) -> impl Iterator<Item = &'a str> + DoubleEndedIterator {
pub fn values(&'a self, k: &str) -> impl DoubleEndedIterator<Item = &'a str> {
Parameters::values(self.0, k)
}
}
Expand Down Expand Up @@ -394,15 +394,15 @@ impl<'a> Config<'a> {
self.as_str().is_empty()
}

pub fn iter(&'a self) -> impl Iterator<Item = (&'a str, &'a str)> + DoubleEndedIterator {
pub fn iter(&'a self) -> impl DoubleEndedIterator<Item = (&'a str, &'a str)> {
Parameters::iter(self.0)
}

pub fn get(&'a self, k: &str) -> Option<&'a str> {
Parameters::get(self.0, k)
}

pub fn values(&'a self, k: &str) -> impl Iterator<Item = &'a str> + DoubleEndedIterator {
pub fn values(&'a self, k: &str) -> impl DoubleEndedIterator<Item = &'a str> {
Parameters::values(self.0, k)
}
}
Expand Down
8 changes: 4 additions & 4 deletions commons/zenoh-protocol/src/core/resolution.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ pub enum Bits {
}

impl Bits {
const S8: &str = "8bit";
const S16: &str = "16bit";
const S32: &str = "32bit";
const S64: &str = "64bit";
const S8: &'static str = "8bit";
const S16: &'static str = "16bit";
const S32: &'static str = "32bit";
const S64: &'static str = "64bit";

pub const fn bits(&self) -> u32 {
match self {
Expand Down
6 changes: 3 additions & 3 deletions commons/zenoh-protocol/src/core/whatami.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ pub enum WhatAmI {
}

impl WhatAmI {
const STR_R: &str = "router";
const STR_P: &str = "peer";
const STR_C: &str = "client";
const STR_R: &'static str = "router";
const STR_P: &'static str = "peer";
const STR_C: &'static str = "client";

const U8_R: u8 = Self::Router as u8;
const U8_P: u8 = Self::Peer as u8;
Expand Down
4 changes: 2 additions & 2 deletions io/zenoh-links/zenoh-link-udp/src/multicast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ impl LinkManagerMulticastUdp {
})
.take(1)
.collect::<Vec<IpAddr>>()
.get(0)
.first()
.copied(),
};
}
Expand All @@ -194,7 +194,7 @@ impl LinkManagerMulticastUdp {
})
.take(1)
.collect::<Vec<IpAddr>>()
.get(0)
.first()
.copied();

match iface {
Expand Down
19 changes: 12 additions & 7 deletions io/zenoh-transport/src/multicast/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pub use manager::{
TransportManagerParamsMulticast,
};
use std::{
fmt,
fmt::{self, Write},
sync::{Arc, Weak},
};
use transport::TransportMulticastInner;
Expand Down Expand Up @@ -147,12 +147,17 @@ impl fmt::Debug for TransportMulticast {
match self.get_transport() {
Ok(transport) => {
let is_shm = zcondfeat!("shared-memory", transport.is_shm(), false);
let peers: String = zread!(transport.peers)
.iter()
.map(|(l, p)| {
format!("(locator: {}, zid: {}, whatami: {})", l, p.zid, p.whatami)
})
.collect();
let peers: String =
zread!(transport.peers)
.iter()
.fold(String::new(), |mut output, (l, p)| {
let _ = write!(
output,
"(locator: {}, zid: {}, whatami: {})",
l, p.zid, p.whatami
);
output
});

f.debug_struct("Transport Multicast")
.field("sn_resolution", &transport.get_sn_resolution())
Expand Down
4 changes: 2 additions & 2 deletions io/zenoh-transport/src/multicast/transport.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ impl TransportMulticastInner {
) -> ZResult<TransportMulticastInner> {
let mut priority_tx = vec![];
if (config.initial_sns.len() != 1) != (config.initial_sns.len() != Priority::NUM) {
for (_, sn) in config.initial_sns.iter().enumerate() {
for sn in config.initial_sns.iter() {
let tct = TransportPriorityTx::make(config.sn_resolution)?;
tct.sync(*sn)?;
priority_tx.push(tct);
Expand Down Expand Up @@ -359,7 +359,7 @@ impl TransportMulticastInner {
.into_boxed_slice();

let mut priority_rx = Vec::with_capacity(next_sns.len());
for (_, sn) in next_sns.iter().enumerate() {
for sn in next_sns.iter() {
let tprx = TransportPriorityRx::make(
join.resolution.get(Field::FrameSN),
self.manager.config.defrag_buff_size,
Expand Down
14 changes: 6 additions & 8 deletions plugins/zenoh-backend-traits/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,11 @@ impl<S: Into<String> + AsRef<str>, V: AsObject> TryFrom<(S, &V)> for PluginConfi
storages,
rest: value
.into_iter()
.filter_map(|(k, v)| {
(!["__required__", "backend_search_dirs", "volumes", "storages"]
.contains(&k.as_str()))
.then(|| (k.clone(), v.clone()))
.filter(|&(k, _v)| {
!["__required__", "backend_search_dirs", "volumes", "storages"]
.contains(&k.as_str())
})
.map(|(k, v)| (k.clone(), v.clone()))
.collect(),
})
}
Expand Down Expand Up @@ -313,10 +313,8 @@ impl VolumeConfig {
required,
rest: config
.iter()
.filter_map(|(k, v)| {
(!["__path__", "__required__"].contains(&k.as_str()))
.then(|| (k.clone(), v.clone()))
})
.filter(|&(k, _v)| (!["__path__", "__required__"].contains(&k.as_str())))
.map(|(k, v)| (k.clone(), v.clone()))
.collect(),
})
}
Expand Down
2 changes: 1 addition & 1 deletion plugins/zenoh-plugin-storage-manager/src/replica/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ pub mod storage;
pub use align_queryable::AlignQueryable;
pub use aligner::Aligner;
pub use digest::{Digest, DigestConfig, EraType, LogEntry};
pub use snapshotter::{ReplicationInfo, Snapshotter};
pub use snapshotter::Snapshotter;
pub use storage::{ReplicationService, StorageService};

const ERA: &str = "era";
Expand Down
32 changes: 16 additions & 16 deletions zenoh/src/net/routing/hat/linkstate_peer/network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -773,26 +773,26 @@ impl Network {
let idxs = self
.graph
.node_indices()
.filter_map(|idx| {
(self.full_linkstate
.filter(|&idx| {
self.full_linkstate
|| self.gossip_multihop
|| self.links.values().any(|link| link.zid == zid)
|| (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router))
.then(|| {
(
idx,
Details {
zid: true,
locators: self.propagate_locators(idx),
links: self.full_linkstate
|| (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router),
},
)
})
&& whatami == WhatAmI::Router)
})
.map(|idx| {
(
idx,
Details {
zid: true,
locators: self.propagate_locators(idx),
links: self.full_linkstate
|| (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router),
},
)
})
.collect();
self.send_on_link(idxs, &transport);
Expand Down
30 changes: 15 additions & 15 deletions zenoh/src/net/routing/hat/p2p_peer/gossip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -509,24 +509,24 @@ impl Network {
let idxs = self
.graph
.node_indices()
.filter_map(|idx| {
(self.gossip_multihop
.filter(|&idx| {
self.gossip_multihop
|| self.links.values().any(|link| link.zid == zid)
|| (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router))
.then(|| {
(
idx,
Details {
zid: true,
locators: self.propagate_locators(idx),
links: (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router),
},
)
})
&& whatami == WhatAmI::Router)
})
.map(|idx| {
(
idx,
Details {
zid: true,
locators: self.propagate_locators(idx),
links: (self.router_peers_failover_brokering
&& idx == self.idx
&& whatami == WhatAmI::Router),
},
)
})
.collect();
self.send_on_link(idxs, &transport);
Expand Down
Loading

0 comments on commit ac45542

Please sign in to comment.