diff --git a/clarity/src/vm/tests/datamaps.rs b/clarity/src/vm/tests/datamaps.rs index 828de608e7..6c17766434 100644 --- a/clarity/src/vm/tests/datamaps.rs +++ b/clarity/src/vm/tests/datamaps.rs @@ -642,7 +642,7 @@ fn bad_define_maps() { "(define-map lists { name: int } contents 5)", "(define-map lists { name: int } { contents: (list 5 0 int) })", ]; - let mut expected: Vec = vec![ + let expected: Vec = vec![ CheckErrors::BadSyntaxExpectedListOfPairs.into(), CheckErrors::UnknownTypeName("contents".to_string()).into(), CheckErrors::ExpectedName.into(), @@ -650,7 +650,7 @@ fn bad_define_maps() { CheckErrors::InvalidTypeDescription.into(), ]; - for (test, expected_err) in tests.iter().zip(expected.drain(..)) { + for (test, expected_err) in tests.iter().zip(expected.into_iter()) { let outcome = execute(test).unwrap_err(); assert_eq!(outcome, expected_err); } @@ -666,7 +666,7 @@ fn bad_tuples() { "(get name five (tuple (name 1)))", "(get 1234 (tuple (name 1)))", ]; - let mut expected = vec![ + let expected = vec![ CheckErrors::NameAlreadyUsed("name".into()), CheckErrors::BadSyntaxBinding, CheckErrors::BadSyntaxBinding, @@ -678,7 +678,7 @@ fn bad_tuples() { CheckErrors::ExpectedName, ]; - for (test, expected_err) in tests.iter().zip(expected.drain(..)) { + for (test, expected_err) in tests.iter().zip(expected.into_iter()) { let outcome = execute(test).unwrap_err(); assert_eq!(outcome, expected_err.into()); } diff --git a/stacks-common/src/address/c32_old.rs b/stacks-common/src/address/c32_old.rs index 29d441e5c0..6761afac05 100644 --- a/stacks-common/src/address/c32_old.rs +++ b/stacks-common/src/address/c32_old.rs @@ -67,7 +67,7 @@ fn c32_encode(input_bytes: &[u8]) -> String { } } - let result: Vec = result.drain(..).rev().collect(); + let result: Vec = result.into_iter().rev().collect(); String::from_utf8(result).unwrap() } diff --git a/stacks-common/src/util/chunked_encoding.rs b/stacks-common/src/util/chunked_encoding.rs index 445ec5a831..d6771e2218 100644 --- a/stacks-common/src/util/chunked_encoding.rs +++ b/stacks-common/src/util/chunked_encoding.rs @@ -504,14 +504,14 @@ mod test { #[test] fn test_segment_reader() { - let mut tests = vec![ + let tests = vec![ (vec_u8(vec!["a", "b"]), "ab"), (vec_u8(vec!["aa", "bbb", "cccc"]), "aabbbcccc"), (vec_u8(vec!["aaaa", "bbb", "cc", "d", ""]), "aaaabbbccd"), (vec_u8(vec!["", "a", "", "b", ""]), "ab"), (vec_u8(vec![""]), ""), ]; - for (input_vec, expected) in tests.drain(..) { + for (input_vec, expected) in tests.into_iter() { let num_segments = input_vec.len(); let mut segment_io = SegmentReader::new(input_vec); let mut output = vec![0u8; expected.len()]; diff --git a/stackslib/src/burnchains/affirmation.rs b/stackslib/src/burnchains/affirmation.rs index 592ea7daed..996d3bf474 100644 --- a/stackslib/src/burnchains/affirmation.rs +++ b/stackslib/src/burnchains/affirmation.rs @@ -679,7 +679,7 @@ pub fn read_parent_block_commits( } } } - let mut parent_list: Vec<_> = parents.into_iter().map(|(_, cmt)| cmt).collect(); + let mut parent_list: Vec<_> = parents.into_values().collect(); parent_list.sort_by(|a, b| { if a.block_height != b.block_height { a.block_height.cmp(&b.block_height) diff --git a/stackslib/src/burnchains/burnchain.rs b/stackslib/src/burnchains/burnchain.rs index cc9cca1820..36959c31f2 100644 --- a/stackslib/src/burnchains/burnchain.rs +++ b/stackslib/src/burnchains/burnchain.rs @@ -136,7 +136,7 @@ impl BurnchainStateTransition { return Some(block_total_burns[0]); } else if block_total_burns.len() % 2 != 0 { let idx = block_total_burns.len() / 2; - return block_total_burns.get(idx).map(|b| *b); + return block_total_burns.get(idx).copied(); } else { // NOTE: the `- 1` is safe because block_total_burns.len() >= 2 let idx_left = block_total_burns.len() / 2 - 1; @@ -269,8 +269,7 @@ impl BurnchainStateTransition { let mut missed_commits_at_height = SortitionDB::get_missed_commits_by_intended(sort_tx.tx(), &sortition_id)?; if let Some(missed_commit_in_block) = missed_commits_map.remove(&sortition_id) { - missed_commits_at_height - .extend(missed_commit_in_block.into_iter().map(|x| x.clone())); + missed_commits_at_height.extend(missed_commit_in_block.into_iter().cloned()); } windowed_missed_commits.push(missed_commits_at_height); diff --git a/stackslib/src/burnchains/db.rs b/stackslib/src/burnchains/db.rs index 2571c532ed..b56f25404d 100644 --- a/stackslib/src/burnchains/db.rs +++ b/stackslib/src/burnchains/db.rs @@ -1245,8 +1245,8 @@ impl BurnchainDB { ops.extend( pre_stx_ops - .into_iter() - .map(|(_, op)| BlockstackOperationType::PreStx(op)), + .into_values() + .map(BlockstackOperationType::PreStx), ); ops.sort_by_key(|op| op.vtxindex()); diff --git a/stackslib/src/chainstate/nakamoto/coordinator/tests.rs b/stackslib/src/chainstate/nakamoto/coordinator/tests.rs index e0b3375452..862c2cad04 100644 --- a/stackslib/src/chainstate/nakamoto/coordinator/tests.rs +++ b/stackslib/src/chainstate/nakamoto/coordinator/tests.rs @@ -3234,54 +3234,53 @@ fn test_stacks_on_burnchain_ops() { let (mut burn_ops, mut tenure_change, miner_key) = peer.begin_nakamoto_tenure(TenureChangeCause::BlockFound); - let mut new_burn_ops = vec![]; - new_burn_ops.push(BlockstackOperationType::DelegateStx(DelegateStxOp { - sender: addr.clone(), - delegate_to: recipient_addr.clone(), - reward_addr: None, - delegated_ustx: 1, - until_burn_height: None, - - // mocked - txid: Txid([i; 32]), - vtxindex: 11, - block_height: block_height + 1, - burn_header_hash: BurnchainHeaderHash([0x00; 32]), - })); - new_burn_ops.push(BlockstackOperationType::StackStx(StackStxOp { - sender: addr.clone(), - reward_addr: PoxAddress::Standard( - recipient_addr.clone(), - Some(AddressHashMode::SerializeP2PKH), - ), - stacked_ustx: 1, - num_cycles: 1, - signer_key: Some(StacksPublicKeyBuffer::from_public_key( - &StacksPublicKey::from_private(&recipient_private_key), - )), - max_amount: Some(1), - auth_id: Some(i as u32), - - // mocked - txid: Txid([i | 0x80; 32]), - vtxindex: 12, - block_height: block_height + 1, - burn_header_hash: BurnchainHeaderHash([0x00; 32]), - })); - new_burn_ops.push(BlockstackOperationType::TransferStx(TransferStxOp { - sender: addr.clone(), - recipient: recipient_addr.clone(), - transfered_ustx: 1, - memo: vec![0x2], - - // mocked - txid: Txid([i | 0x40; 32]), - vtxindex: 13, - block_height: block_height + 1, - burn_header_hash: BurnchainHeaderHash([0x00; 32]), - })); - new_burn_ops.push(BlockstackOperationType::VoteForAggregateKey( - VoteForAggregateKeyOp { + let mut new_burn_ops = vec![ + BlockstackOperationType::DelegateStx(DelegateStxOp { + sender: addr.clone(), + delegate_to: recipient_addr.clone(), + reward_addr: None, + delegated_ustx: 1, + until_burn_height: None, + + // mocked + txid: Txid([i; 32]), + vtxindex: 11, + block_height: block_height + 1, + burn_header_hash: BurnchainHeaderHash([0x00; 32]), + }), + BlockstackOperationType::StackStx(StackStxOp { + sender: addr.clone(), + reward_addr: PoxAddress::Standard( + recipient_addr.clone(), + Some(AddressHashMode::SerializeP2PKH), + ), + stacked_ustx: 1, + num_cycles: 1, + signer_key: Some(StacksPublicKeyBuffer::from_public_key( + &StacksPublicKey::from_private(&recipient_private_key), + )), + max_amount: Some(1), + auth_id: Some(i as u32), + + // mocked + txid: Txid([i | 0x80; 32]), + vtxindex: 12, + block_height: block_height + 1, + burn_header_hash: BurnchainHeaderHash([0x00; 32]), + }), + BlockstackOperationType::TransferStx(TransferStxOp { + sender: addr.clone(), + recipient: recipient_addr.clone(), + transfered_ustx: 1, + memo: vec![0x2], + + // mocked + txid: Txid([i | 0x40; 32]), + vtxindex: 13, + block_height: block_height + 1, + burn_header_hash: BurnchainHeaderHash([0x00; 32]), + }), + BlockstackOperationType::VoteForAggregateKey(VoteForAggregateKeyOp { sender: addr.clone(), aggregate_key: StacksPublicKeyBuffer::from_public_key( &StacksPublicKey::from_private(&agg_private_key), @@ -3298,8 +3297,8 @@ fn test_stacks_on_burnchain_ops() { vtxindex: 14, block_height: block_height + 1, burn_header_hash: BurnchainHeaderHash([0x00; 32]), - }, - )); + }), + ]; extra_burn_ops.push(new_burn_ops.clone()); burn_ops.append(&mut new_burn_ops); diff --git a/stackslib/src/chainstate/stacks/db/unconfirmed.rs b/stackslib/src/chainstate/stacks/db/unconfirmed.rs index 1142b156c1..f061c6d749 100644 --- a/stackslib/src/chainstate/stacks/db/unconfirmed.rs +++ b/stackslib/src/chainstate/stacks/db/unconfirmed.rs @@ -443,7 +443,7 @@ impl UnconfirmedState { &self, txid: &Txid, ) -> Option<(StacksTransaction, BlockHeaderHash, u16)> { - self.mined_txs.get(txid).map(|x| x.clone()) + self.mined_txs.get(txid).cloned() } pub fn num_microblocks(&self) -> u64 { diff --git a/stackslib/src/chainstate/stacks/index/cache.rs b/stackslib/src/chainstate/stacks/index/cache.rs index d5ba5ae5f6..3532aadc27 100644 --- a/stackslib/src/chainstate/stacks/index/cache.rs +++ b/stackslib/src/chainstate/stacks/index/cache.rs @@ -151,7 +151,7 @@ impl TrieCacheState { /// Get the block ID, given its hash pub fn load_block_id(&self, block_hash: &T) -> Option { - self.block_id_cache.get(block_hash).map(|id| *id) + self.block_id_cache.get(block_hash).copied() } } diff --git a/stackslib/src/chainstate/stacks/miner.rs b/stackslib/src/chainstate/stacks/miner.rs index 43fd6b3c18..a7f4bb836d 100644 --- a/stackslib/src/chainstate/stacks/miner.rs +++ b/stackslib/src/chainstate/stacks/miner.rs @@ -262,11 +262,7 @@ pub struct MinerEpochInfo<'a> { impl From<&UnconfirmedState> for MicroblockMinerRuntime { fn from(unconfirmed: &UnconfirmedState) -> MicroblockMinerRuntime { - let considered = unconfirmed - .mined_txs - .iter() - .map(|(txid, _)| txid.clone()) - .collect(); + let considered = unconfirmed.mined_txs.keys().cloned().collect(); MicroblockMinerRuntime { bytes_so_far: unconfirmed.bytes_so_far, prev_microblock_header: unconfirmed.last_mblock.clone(), diff --git a/stackslib/src/chainstate/stacks/tests/chain_histories.rs b/stackslib/src/chainstate/stacks/tests/chain_histories.rs index 6d102af8ec..7b06070d4e 100644 --- a/stackslib/src/chainstate/stacks/tests/chain_histories.rs +++ b/stackslib/src/chainstate/stacks/tests/chain_histories.rs @@ -2857,9 +2857,7 @@ pub fn mine_invalid_token_transfers_block( ); builder.force_mine_tx(clarity_tx, &tx1).unwrap(); - if !miner.spent_at_nonce.contains_key(&1) { - miner.spent_at_nonce.insert(1, 11111); - } + miner.spent_at_nonce.entry(1).or_insert(11111); let tx2 = make_token_transfer( miner, @@ -2871,9 +2869,7 @@ pub fn mine_invalid_token_transfers_block( ); builder.force_mine_tx(clarity_tx, &tx2).unwrap(); - if !miner.spent_at_nonce.contains_key(&2) { - miner.spent_at_nonce.insert(2, 22222); - } + miner.spent_at_nonce.entry(2).or_insert(22222); let tx3 = make_token_transfer( miner, diff --git a/stackslib/src/clarity_cli.rs b/stackslib/src/clarity_cli.rs index 9862281b6c..cc0ad11273 100644 --- a/stackslib/src/clarity_cli.rs +++ b/stackslib/src/clarity_cli.rs @@ -1002,7 +1002,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let mainnet = if let Ok(Some(_)) = consume_arg(&mut argv, &["--testnet"], false) { false @@ -1127,7 +1127,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let contract_id = if let Ok(optarg) = consume_arg(&mut argv, &["--contract_id"], true) { optarg .map(|optarg_str| { @@ -1253,7 +1253,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let mainnet = if let Ok(Some(_)) = consume_arg(&mut argv, &["--testnet"], false) { false } else { @@ -1281,15 +1281,15 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option ").unwrap_or_else(|e| { - panic!("Failed to write stdout prompt string:\n{}", e); + panic!("Failed to write stdout prompt string:\n{e}"); }); stdout.flush().unwrap_or_else(|e| { - panic!("Failed to flush stdout prompt string:\n{}", e); + panic!("Failed to flush stdout prompt string:\n{e}"); }); match io::stdin().read_line(&mut buffer) { Ok(_) => buffer, Err(error) => { - eprintln!("Error reading from stdin:\n{}", error); + eprintln!("Error reading from stdin:\n{error}"); panic_test!(); } } @@ -1385,7 +1385,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let costs = if let Ok(Some(_)) = consume_arg(&mut argv, &["--costs"], false) { true @@ -1448,7 +1448,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let costs = if let Ok(Some(_)) = consume_arg(&mut argv, &["--costs"], false) { true @@ -1530,7 +1530,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let costs = if let Ok(Some(_)) = consume_arg(&mut argv, &["--costs"], false) { true @@ -1612,7 +1612,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let coverage_folder = if let Ok(covarg) = consume_arg(&mut argv, &["--c"], true) { covarg } else { @@ -1767,7 +1767,7 @@ pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option { - let mut argv: Vec = args.into_iter().map(|x| x.clone()).collect(); + let mut argv = args.to_vec(); let coverage_folder = if let Ok(covarg) = consume_arg(&mut argv, &["--c"], true) { covarg } else { diff --git a/stackslib/src/core/mempool.rs b/stackslib/src/core/mempool.rs index 589b624abe..8c445f494f 100644 --- a/stackslib/src/core/mempool.rs +++ b/stackslib/src/core/mempool.rs @@ -510,7 +510,7 @@ impl MemPoolWalkTxTypes { } pub fn only(selected: &[MemPoolWalkTxTypes]) -> HashSet { - selected.iter().cloned().collect() + selected.iter().copied().collect() } } diff --git a/stackslib/src/net/api/tests/getheaders.rs b/stackslib/src/net/api/tests/getheaders.rs index 4ea4480082..f6053c5482 100644 --- a/stackslib/src/net/api/tests/getheaders.rs +++ b/stackslib/src/net/api/tests/getheaders.rs @@ -295,11 +295,8 @@ fn test_stream_getheaders() { let block_expected_headers: Vec = blocks.iter().rev().map(|blk| blk.header.clone()).collect(); - let block_expected_index_hashes: Vec = blocks_index_hashes - .iter() - .rev() - .map(|idx| idx.clone()) - .collect(); + let block_expected_index_hashes: Vec = + blocks_index_hashes.iter().rev().copied().collect(); let block_fork_expected_headers: Vec = blocks_fork .iter() @@ -307,11 +304,8 @@ fn test_stream_getheaders() { .map(|blk| blk.header.clone()) .collect(); - let block_fork_expected_index_hashes: Vec = blocks_fork_index_hashes - .iter() - .rev() - .map(|idx| idx.clone()) - .collect(); + let block_fork_expected_index_hashes: Vec = + blocks_fork_index_hashes.iter().rev().copied().collect(); // get them all -- ask for more than there is let mut stream = diff --git a/stackslib/src/net/api/tests/postblock_v3.rs b/stackslib/src/net/api/tests/postblock_v3.rs index 0b0a95f3a4..0cd5f7b33e 100644 --- a/stackslib/src/net/api/tests/postblock_v3.rs +++ b/stackslib/src/net/api/tests/postblock_v3.rs @@ -178,19 +178,12 @@ fn handle_req_accepted() { |_| true, ); let next_block_id = next_block.block_id(); - let mut requests = vec![]; - - // post the block - requests.push(StacksHttpRequest::new_post_block_v3( - addr.into(), - &next_block, - )); - - // idempotent - requests.push(StacksHttpRequest::new_post_block_v3( - addr.into(), - &next_block, - )); + let requests = vec![ + // post the block + StacksHttpRequest::new_post_block_v3(addr.into(), &next_block), + // idempotent + StacksHttpRequest::new_post_block_v3(addr.into(), &next_block), + ]; let mut responses = rpc_test.run(requests); @@ -229,10 +222,8 @@ fn handle_req_without_trailing_accepted() { |_| true, ); let next_block_id = next_block.block_id(); - let mut requests = vec![]; - - // post the block - requests.push( + let requests = vec![ + // post the block StacksHttpRequest::new_for_peer( addr.into(), "POST".into(), @@ -240,10 +231,7 @@ fn handle_req_without_trailing_accepted() { HttpRequestContents::new().payload_stacks(&next_block), ) .unwrap(), - ); - - // idempotent - requests.push( + // idempotent StacksHttpRequest::new_for_peer( addr.into(), "POST".into(), @@ -251,7 +239,7 @@ fn handle_req_without_trailing_accepted() { HttpRequestContents::new().payload_stacks(&next_block), ) .unwrap(), - ); + ]; let mut responses = rpc_test.run(requests); let response = responses.remove(0); diff --git a/stackslib/src/net/api/tests/postmempoolquery.rs b/stackslib/src/net/api/tests/postmempoolquery.rs index 8f921525a3..55a763884e 100644 --- a/stackslib/src/net/api/tests/postmempoolquery.rs +++ b/stackslib/src/net/api/tests/postmempoolquery.rs @@ -96,7 +96,7 @@ fn test_try_make_response() { let test_rpc = TestRPC::setup(function_name!()); let mempool_txids = test_rpc.mempool_txids.clone(); - let mempool_txids: HashSet<_> = mempool_txids.iter().map(|txid| txid.clone()).collect(); + let mempool_txids: HashSet<_> = mempool_txids.iter().copied().collect(); let sync_data = test_rpc .peer_1 diff --git a/stackslib/src/net/atlas/download.rs b/stackslib/src/net/atlas/download.rs index c9f40dc1ee..b1585cd2c5 100644 --- a/stackslib/src/net/atlas/download.rs +++ b/stackslib/src/net/atlas/download.rs @@ -373,7 +373,7 @@ impl AttachmentsBatchStateContext { } pub fn get_peers_urls(&self) -> Vec { - self.peers.keys().map(|e| e.clone()).collect() + self.peers.keys().cloned().collect() } pub fn get_prioritized_attachments_inventory_requests( @@ -531,11 +531,7 @@ impl AttachmentsBatchStateContext { report.bump_failed_requests(); } } - let mut events_ids = results - .faulty_peers - .iter() - .map(|(k, _)| *k) - .collect::>(); + let mut events_ids = results.faulty_peers.keys().copied().collect::>(); self.events_to_deregister.append(&mut events_ids); self @@ -565,11 +561,7 @@ impl AttachmentsBatchStateContext { report.bump_failed_requests(); } } - let mut events_ids = results - .faulty_peers - .iter() - .map(|(k, _)| *k) - .collect::>(); + let mut events_ids = results.faulty_peers.keys().copied().collect::>(); self.events_to_deregister.append(&mut events_ids); self diff --git a/stackslib/src/net/chat.rs b/stackslib/src/net/chat.rs index 2dea34245b..727e64b43e 100644 --- a/stackslib/src/net/chat.rs +++ b/stackslib/src/net/chat.rs @@ -6455,7 +6455,7 @@ mod test { }]; // allowed - let mut relayers = vec![ + let relayers = vec![ RelayData { peer: NeighborAddress { addrbytes: PeerAddress([0u8; 16]), @@ -6484,7 +6484,7 @@ mod test { let relayer_map = convo.stats.take_relayers(); assert_eq!(convo.stats.relayed_messages.len(), 0); - for r in relayers.drain(..) { + for r in relayers.into_iter() { assert!(relayer_map.contains_key(&r.peer)); let stats = relayer_map.get(&r.peer).unwrap(); diff --git a/stackslib/src/net/connection.rs b/stackslib/src/net/connection.rs index 1d0eabdd14..466487539a 100644 --- a/stackslib/src/net/connection.rs +++ b/stackslib/src/net/connection.rs @@ -1815,7 +1815,7 @@ mod test { test_debug!("Received {} bytes in total", total_bytes); - let mut flushed_handles = rx.recv().unwrap(); + let flushed_handles = rx.recv().unwrap(); match shared_state.lock() { Ok(ref mut conn) => { @@ -1842,15 +1842,15 @@ mod test { assert_eq!(recved.len(), 0); } Err(e) => { - assert!(false, "{:?}", &e); + assert!(false, "{e:?}"); unreachable!(); } } // got all messages let mut recved = vec![]; - for (i, rh) in flushed_handles.drain(..).enumerate() { - test_debug!("recv {}", i); + for (i, rh) in flushed_handles.into_iter().enumerate() { + test_debug!("recv {i}"); let res = rh.recv(0).unwrap(); recved.push(res); } diff --git a/stackslib/src/net/db.rs b/stackslib/src/net/db.rs index a770727315..5518d9db57 100644 --- a/stackslib/src/net/db.rs +++ b/stackslib/src/net/db.rs @@ -1447,8 +1447,7 @@ impl PeerDB { let cur_dbs_set: HashSet<_> = PeerDB::static_get_peer_stacker_dbs(tx, neighbor)? .into_iter() .collect(); - let new_dbs_set: HashSet = - dbs.iter().map(|cid| cid.clone()).collect(); + let new_dbs_set: HashSet = dbs.iter().cloned().collect(); let to_insert: Vec<_> = new_dbs_set.difference(&cur_dbs_set).collect(); let to_delete: Vec<_> = cur_dbs_set.difference(&new_dbs_set).collect(); diff --git a/stackslib/src/net/download/nakamoto/download_state_machine.rs b/stackslib/src/net/download/nakamoto/download_state_machine.rs index b635282db2..53e5aec0af 100644 --- a/stackslib/src/net/download/nakamoto/download_state_machine.rs +++ b/stackslib/src/net/download/nakamoto/download_state_machine.rs @@ -1144,7 +1144,7 @@ impl NakamotoDownloadStateMachine { ) { debug!("Run unconfirmed tenure downloaders"); - let addrs: Vec<_> = downloaders.keys().map(|addr| addr.clone()).collect(); + let addrs: Vec<_> = downloaders.keys().cloned().collect(); let mut finished = vec![]; let mut unconfirmed_blocks = HashMap::new(); let mut highest_completed_tenure_downloaders = HashMap::new(); @@ -1402,8 +1402,7 @@ impl NakamotoDownloadStateMachine { let tenure_blocks = coalesced_blocks .into_iter() .map(|(consensus_hash, block_map)| { - let mut block_list: Vec<_> = - block_map.into_iter().map(|(_, block)| block).collect(); + let mut block_list: Vec<_> = block_map.into_values().collect(); block_list.sort_unstable_by_key(|blk| blk.header.chain_length); (consensus_hash, block_list) }) diff --git a/stackslib/src/net/http/request.rs b/stackslib/src/net/http/request.rs index e2d0fd16f3..014ab8ef49 100644 --- a/stackslib/src/net/http/request.rs +++ b/stackslib/src/net/http/request.rs @@ -117,7 +117,7 @@ impl HttpRequestPreamble { hostname: String, port: u16, keep_alive: bool, - mut keys: Vec, + keys: Vec, values: Vec, ) -> HttpRequestPreamble { assert_eq!(keys.len(), values.len()); @@ -130,7 +130,7 @@ impl HttpRequestPreamble { keep_alive, ); - for (k, v) in keys.drain(..).zip(values) { + for (k, v) in keys.into_iter().zip(values) { req.add_header(k, v); } req diff --git a/stackslib/src/net/http/response.rs b/stackslib/src/net/http/response.rs index 42101a1c18..c85a02adf6 100644 --- a/stackslib/src/net/http/response.rs +++ b/stackslib/src/net/http/response.rs @@ -259,7 +259,7 @@ impl HttpResponsePreamble { keep_alive: bool, content_length: Option, content_type: HttpContentType, - mut keys: Vec, + keys: Vec, values: Vec, ) -> HttpResponsePreamble { assert_eq!(keys.len(), values.len()); @@ -272,7 +272,7 @@ impl HttpResponsePreamble { keep_alive, ); - for (k, v) in keys.drain(..).zip(values) { + for (k, v) in keys.into_iter().zip(values) { res.add_header(k, v); } res diff --git a/stackslib/src/net/inv/nakamoto.rs b/stackslib/src/net/inv/nakamoto.rs index c103f16eb7..a3b8d3a833 100644 --- a/stackslib/src/net/inv/nakamoto.rs +++ b/stackslib/src/net/inv/nakamoto.rs @@ -750,8 +750,8 @@ impl NakamotoInvStateMachine { /// Highest reward cycle learned pub fn highest_reward_cycle(&self) -> u64 { self.inventories - .iter() - .map(|(_, inv)| inv.highest_reward_cycle()) + .values() + .map(|inv| inv.highest_reward_cycle()) .max() .unwrap_or(0) } @@ -856,7 +856,7 @@ impl NakamotoInvStateMachine { // we're updating inventories, so preserve the state we have let mut new_inventories = HashMap::new(); - let event_ids: Vec = network.iter_peer_event_ids().map(|e_id| *e_id).collect(); + let event_ids: Vec = network.iter_peer_event_ids().copied().collect(); debug!( "Send GetNakamotoInv to up to {} peers (ibd={})", diff --git a/stackslib/src/net/mod.rs b/stackslib/src/net/mod.rs index cfefa2c5fe..54221bf0ba 100644 --- a/stackslib/src/net/mod.rs +++ b/stackslib/src/net/mod.rs @@ -1580,8 +1580,8 @@ impl NetworkResult { let pushed_blocks: HashSet<_> = self .pushed_blocks - .iter() - .flat_map(|(_, block_list)| { + .values() + .flat_map(|block_list| { block_list.iter().flat_map(|block_data| { block_data .blocks @@ -1620,8 +1620,8 @@ impl NetworkResult { let pushed_microblocks: HashSet<_> = self .pushed_microblocks - .iter() - .flat_map(|(_, mblock_list)| { + .values() + .flat_map(|mblock_list| { mblock_list.iter().flat_map(|(_, mblock_data)| { mblock_data .microblocks @@ -1646,14 +1646,14 @@ impl NetworkResult { fn all_nakamoto_block_ids(&self) -> HashSet { let mut naka_block_ids: HashSet<_> = self .nakamoto_blocks - .iter() - .map(|(_, nblk)| nblk.block_id()) + .values() + .map(|nblk| nblk.block_id()) .collect(); let pushed_nakamoto_blocks: HashSet<_> = self .pushed_nakamoto_blocks - .iter() - .map(|(_, naka_blocks_list)| { + .values() + .map(|naka_blocks_list| { naka_blocks_list .iter() .map(|(_, naka_blocks)| { @@ -1693,8 +1693,8 @@ impl NetworkResult { .collect(); let pushed_txids: HashSet<_> = self .pushed_transactions - .iter() - .map(|(_, tx_list)| { + .values() + .map(|tx_list| { tx_list .iter() .map(|(_, tx)| tx.txid()) @@ -1722,8 +1722,8 @@ impl NetworkResult { /// This is unique per message. fn all_msg_sigs(&self) -> HashSet { self.unhandled_messages - .iter() - .map(|(_, msgs)| { + .values() + .map(|msgs| { msgs.iter() .map(|msg| msg.preamble.signature.clone()) .collect::>() @@ -2091,8 +2091,8 @@ impl NetworkResult { self.pushed_transactions .values() .flat_map(|pushed_txs| pushed_txs.iter().map(|(_, tx)| tx.clone())) - .chain(self.uploaded_transactions.iter().map(|x| x.clone())) - .chain(self.synced_transactions.iter().map(|x| x.clone())) + .chain(self.uploaded_transactions.iter().cloned()) + .chain(self.synced_transactions.iter().cloned()) .collect() } @@ -2540,7 +2540,7 @@ pub mod test { parent: parent.clone(), winner_txid, matured_rewards: matured_rewards.to_owned(), - matured_rewards_info: matured_rewards_info.map(|info| info.clone()), + matured_rewards_info: matured_rewards_info.cloned(), reward_set_data: reward_set_data.clone(), }) } @@ -3131,8 +3131,7 @@ pub mod test { let stacker_db_syncs = Self::init_stackerdb_syncs(&test_path, &peerdb, &mut stackerdb_configs); - let stackerdb_contracts: Vec<_> = - stacker_db_syncs.keys().map(|cid| cid.clone()).collect(); + let stackerdb_contracts: Vec<_> = stacker_db_syncs.keys().cloned().collect(); let burnchain_db = config.burnchain.open_burnchain_db(false).unwrap(); diff --git a/stackslib/src/net/neighbors/comms.rs b/stackslib/src/net/neighbors/comms.rs index 2fd4560b5f..7502fa566d 100644 --- a/stackslib/src/net/neighbors/comms.rs +++ b/stackslib/src/net/neighbors/comms.rs @@ -509,9 +509,7 @@ impl NeighborComms for PeerNetworkComms { } fn get_connecting(&self, network: &PeerNetwork, nk: &NK) -> Option { - self.connecting - .get(&nk.to_neighbor_key(network)) - .map(|event_ref| *event_ref) + self.connecting.get(&nk.to_neighbor_key(network)).copied() } /// Remove a connecting neighbor because it connected diff --git a/stackslib/src/net/neighbors/db.rs b/stackslib/src/net/neighbors/db.rs index 84e7489c1b..4d49a072c5 100644 --- a/stackslib/src/net/neighbors/db.rs +++ b/stackslib/src/net/neighbors/db.rs @@ -55,7 +55,7 @@ impl NeighborReplacements { } pub fn get_slot(&self, naddr: &NeighborAddress) -> Option { - self.replaced_neighbors.get(naddr).map(|slot| *slot) + self.replaced_neighbors.get(naddr).copied() } pub fn get_neighbor(&self, naddr: &NeighborAddress) -> Option<&Neighbor> { diff --git a/stackslib/src/net/p2p.rs b/stackslib/src/net/p2p.rs index 78c8982106..c4cb86f88e 100644 --- a/stackslib/src/net/p2p.rs +++ b/stackslib/src/net/p2p.rs @@ -1861,7 +1861,7 @@ impl PeerNetwork { /// Get the event ID associated with a neighbor key pub fn get_event_id(&self, neighbor_key: &NeighborKey) -> Option { - self.events.get(neighbor_key).map(|eid| *eid) + self.events.get(neighbor_key).copied() } /// Get a ref to a conversation given a neighbor key @@ -3255,7 +3255,7 @@ impl PeerNetwork { let neighbor_keys: Vec = self .inv_state .as_ref() - .map(|inv_state| inv_state.block_stats.keys().map(|nk| nk.clone()).collect()) + .map(|inv_state| inv_state.block_stats.keys().cloned().collect()) .unwrap_or(vec![]); if self.antientropy_start_reward_cycle == 0 { diff --git a/stackslib/src/net/relay.rs b/stackslib/src/net/relay.rs index 4569585b79..4c351db408 100644 --- a/stackslib/src/net/relay.rs +++ b/stackslib/src/net/relay.rs @@ -2607,21 +2607,18 @@ impl Relayer { new_microblocks: Vec<(Vec, MicroblocksData)>, ) { // have the p2p thread tell our neighbors about newly-discovered blocks - let new_block_chs = new_blocks.iter().map(|(ch, _)| ch.clone()).collect(); + let new_block_chs = new_blocks.keys().cloned().collect(); let available = Relayer::load_blocks_available_data(sortdb, new_block_chs) .unwrap_or(BlocksAvailableMap::new()); if !available.is_empty() { debug!("{:?}: Blocks available: {}", &_local_peer, available.len()); if let Err(e) = self.p2p.advertize_blocks(available, new_blocks) { - warn!("Failed to advertize new blocks: {:?}", &e); + warn!("Failed to advertize new blocks: {e:?}"); } } // have the p2p thread tell our neighbors about newly-discovered confirmed microblock streams - let new_mblock_chs = new_confirmed_microblocks - .iter() - .map(|(ch, _)| ch.clone()) - .collect(); + let new_mblock_chs = new_confirmed_microblocks.keys().cloned().collect(); let mblocks_available = Relayer::load_blocks_available_data(sortdb, new_mblock_chs) .unwrap_or(BlocksAvailableMap::new()); if !mblocks_available.is_empty() { @@ -2634,7 +2631,7 @@ impl Relayer { .p2p .advertize_microblocks(mblocks_available, new_confirmed_microblocks) { - warn!("Failed to advertize new confirmed microblocks: {:?}", &e); + warn!("Failed to advertize new confirmed microblocks: {e:?}"); } } diff --git a/stackslib/src/net/server.rs b/stackslib/src/net/server.rs index 78f0f6fbb5..dd4c8d698d 100644 --- a/stackslib/src/net/server.rs +++ b/stackslib/src/net/server.rs @@ -753,7 +753,7 @@ mod test { client_requests.push(request); } - for (i, request) in client_requests.drain(..).enumerate() { + for (i, request) in client_requests.into_iter().enumerate() { let (client_sx, client_rx) = sync_channel(1); let client = thread::spawn(move || { let mut sock = TcpStream::connect( @@ -799,7 +799,7 @@ mod test { client_handles.push(client_rx); } - for (i, client_thread) in client_threads.drain(..).enumerate() { + for (i, client_thread) in client_threads.into_iter().enumerate() { test_debug!("Client join {}", i); client_thread.join().unwrap(); let resp = client_handles[i].recv().unwrap(); diff --git a/stackslib/src/net/tests/download/epoch2x.rs b/stackslib/src/net/tests/download/epoch2x.rs index 5c13a12a50..39dbfd8c25 100644 --- a/stackslib/src/net/tests/download/epoch2x.rs +++ b/stackslib/src/net/tests/download/epoch2x.rs @@ -280,11 +280,7 @@ where make_topology(&mut peer_configs); - let mut peers = vec![]; - for conf in peer_configs.drain(..) { - let peer = TestPeer::new(conf); - peers.push(peer); - } + let mut peers: Vec<_> = peer_configs.into_iter().map(TestPeer::new).collect(); let mut num_blocks = 10; let first_stacks_block_height = { @@ -509,7 +505,7 @@ where } drop(dns_clients); - for handle in dns_threads.drain(..) { + for handle in dns_threads.into_iter() { handle.join().unwrap(); } @@ -902,7 +898,7 @@ pub fn test_get_blocks_and_microblocks_5_peers_star() { peer_configs[i].add_neighbor(&peer_0); } - for n in neighbors.drain(..) { + for n in neighbors.into_iter() { peer_configs[0].add_neighbor(&n); } }, @@ -1058,7 +1054,7 @@ pub fn test_get_blocks_and_microblocks_overwhelmed_connections() { peer_configs[i].connection_opts.max_http_clients = 1; } - for n in neighbors.drain(..) { + for n in neighbors.into_iter() { peer_configs[0].add_neighbor(&n); } }, @@ -1137,7 +1133,7 @@ pub fn test_get_blocks_and_microblocks_overwhelmed_sockets() { peer_configs[i].connection_opts.max_sockets = 10; } - for n in neighbors.drain(..) { + for n in neighbors.into_iter() { peer_configs[0].add_neighbor(&n); } }, @@ -1173,12 +1169,9 @@ pub fn test_get_blocks_and_microblocks_overwhelmed_sockets() { |peer| { // check peer health // nothing should break - match peer.network.block_downloader { - Some(ref dl) => { - assert_eq!(dl.broken_peers.len(), 0); - assert_eq!(dl.dead_peers.len(), 0); - } - None => {} + if let Some(ref dl) = peer.network.block_downloader { + assert_eq!(dl.broken_peers.len(), 0); + assert_eq!(dl.dead_peers.len(), 0); } true }, diff --git a/stackslib/src/net/tests/inv/nakamoto.rs b/stackslib/src/net/tests/inv/nakamoto.rs index cb09236ccb..ce066c9865 100644 --- a/stackslib/src/net/tests/inv/nakamoto.rs +++ b/stackslib/src/net/tests/inv/nakamoto.rs @@ -904,7 +904,7 @@ fn test_nakamoto_inv_sync_state_machine() { let event_ids = peer.network.iter_peer_event_ids(); let other_event_ids = other_peer.network.iter_peer_event_ids(); - if !(event_ids.count() == 0) && !(other_event_ids.count() == 0) { + if event_ids.count() > 0 && other_event_ids.count() > 0 { break; } } @@ -1027,7 +1027,7 @@ fn test_nakamoto_inv_sync_across_epoch_change() { let event_ids = peer.network.iter_peer_event_ids(); let other_event_ids = other_peer.network.iter_peer_event_ids(); - if !(event_ids.count() == 0) && !(other_event_ids.count() == 0) { + if event_ids.count() > 0 && other_event_ids.count() > 0 { break; } } diff --git a/stackslib/src/net/tests/mempool/mod.rs b/stackslib/src/net/tests/mempool/mod.rs index e1430454e8..a9f2379384 100644 --- a/stackslib/src/net/tests/mempool/mod.rs +++ b/stackslib/src/net/tests/mempool/mod.rs @@ -1136,7 +1136,7 @@ fn test_mempool_sync_2_peers_nakamoto_paginated() { let event_ids = peer_1.network.iter_peer_event_ids(); let other_event_ids = peer_2.network.iter_peer_event_ids(); - if !(event_ids.count() == 0) && !(other_event_ids.count() == 0) { + if event_ids.count() > 0 && other_event_ids.count() > 0 { break; } }