From 3f13072c4634d5a41aa762736a6a6f785dbecf01 Mon Sep 17 00:00:00 2001 From: teor Date: Tue, 23 May 2023 05:22:13 +1000 Subject: [PATCH] cleanup(rust): Simplify code using closure capture in Rust 2021 edition (#6737) * Simplify code using closure capture in Rust 2021 edition * clippy: manual_next_back and unit_arg * cargo fmt --all --- zebra-consensus/src/transaction/tests.rs | 6 ++---- zebra-network/src/peer_set/set.rs | 7 ++----- zebra-rpc/src/server/tests/vectors.rs | 3 +++ zebra-state/src/service/non_finalized_state.rs | 2 +- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/zebra-consensus/src/transaction/tests.rs b/zebra-consensus/src/transaction/tests.rs index 7e6f8fe3..ea5bdc2c 100644 --- a/zebra-consensus/src/transaction/tests.rs +++ b/zebra-consensus/src/transaction/tests.rs @@ -866,8 +866,7 @@ async fn v5_transaction_is_rejected_before_nu5_activation() { let verifier = Verifier::new(network, state_service); let transaction = fake_v5_transactions_for_network(network, blocks) - .rev() - .next() + .next_back() .expect("At least one fake V5 transaction in the test vectors"); let result = verifier @@ -918,8 +917,7 @@ fn v5_transaction_is_accepted_after_nu5_activation_for_network(network: Network) let verifier = Verifier::new(network, state_service); let mut transaction = fake_v5_transactions_for_network(network, blocks) - .rev() - .next() + .next_back() .expect("At least one fake V5 transaction in the test vectors"); if transaction .expiry_height() diff --git a/zebra-network/src/peer_set/set.rs b/zebra-network/src/peer_set/set.rs index 88d53b54..c668c3a0 100644 --- a/zebra-network/src/peer_set/set.rs +++ b/zebra-network/src/peer_set/set.rs @@ -504,15 +504,12 @@ where /// Checks if the minimum peer version has changed, and disconnects from outdated peers. fn disconnect_from_outdated_peers(&mut self) { if let Some(minimum_version) = self.minimum_peer_version.changed() { - // TODO: Remove when the code base migrates to Rust 2021 edition (#2709). - let preselected_p2c_peer = &mut self.preselected_p2c_peer; - self.ready_services.retain(|address, peer| { if peer.remote_version() >= minimum_version { true } else { - if *preselected_p2c_peer == Some(*address) { - *preselected_p2c_peer = None; + if self.preselected_p2c_peer == Some(*address) { + self.preselected_p2c_peer = None; } false diff --git a/zebra-rpc/src/server/tests/vectors.rs b/zebra-rpc/src/server/tests/vectors.rs index ad7bb8b0..89fa8333 100644 --- a/zebra-rpc/src/server/tests/vectors.rs +++ b/zebra-rpc/src/server/tests/vectors.rs @@ -1,5 +1,8 @@ //! Fixed test vectors for the RPC server. +// These tests call functions which can take unit arguments if some features aren't enabled. +#![allow(clippy::unit_arg)] + use std::{ net::{Ipv4Addr, SocketAddrV4}, time::Duration, diff --git a/zebra-state/src/service/non_finalized_state.rs b/zebra-state/src/service/non_finalized_state.rs index 9beed6b1..3b036ae5 100644 --- a/zebra-state/src/service/non_finalized_state.rs +++ b/zebra-state/src/service/non_finalized_state.rs @@ -549,7 +549,7 @@ impl NonFinalizedState { /// Return the non-finalized portion of the current best chain. pub fn best_chain(&self) -> Option<&Arc> { - self.chain_set.iter().rev().next() + self.chain_iter().next() } /// Return the number of chains.