diff --git a/rust-bins/duniter-dbex/src/export_bc.rs b/rust-bins/duniter-dbex/src/export_bc.rs index 94a9f91b5c250f5b0aafcab9318080126a920671..007880843e5f61267f73b19a932ed8293a2baf9c 100644 --- a/rust-bins/duniter-dbex/src/export_bc.rs +++ b/rust-bins/duniter-dbex/src/export_bc.rs @@ -55,25 +55,23 @@ pub(crate) fn export_bc<B: Backend>( let (s, r) = flume::unbounded(); let reader_handle = std::thread::spawn(move || { bc_v1.main_blocks().iter(.., |it| { - it.values() - .map(|block_res| s.send(block_res).map_err(|_| anyhow!("fail to send"))) - .collect::<anyhow::Result<()>>() + it.values().try_for_each(|block_res| { + s.send(block_res).map_err(|_| anyhow!("fail to send")) + }) }) }); let (s2, r2) = flume::unbounded(); let jsonifier_handle = std::thread::spawn(move || { - r.iter() - .map(|block_res| { - let json_block_res = match block_res { - Ok(block) => { - serde_json::to_value(&block).map_err(|e| KvError::DeserError(e.into())) - } - Err(e) => Err(e), - }; - s2.send(json_block_res).map_err(|_| anyhow!("fail to send")) - }) - .collect::<anyhow::Result<()>>() + r.iter().try_for_each(|block_res| { + let json_block_res = match block_res { + Ok(block) => { + serde_json::to_value(&block).map_err(|e| KvError::DeserError(e.into())) + } + Err(e) => Err(e), + }; + s2.send(json_block_res).map_err(|_| anyhow!("fail to send")) + }) }); let threadpool = ThreadPool::start(ThreadPoolConfig::default(), ()).into_sync_handler(); diff --git a/rust-bins/duniter-dbex/src/main.rs b/rust-bins/duniter-dbex/src/main.rs index ca55f5d4c1f9a270487388ad343d578fbd3b8f6f..00cf5abcd3d070e4b1cf3fd8b5f030e4d037d916 100644 --- a/rust-bins/duniter-dbex/src/main.rs +++ b/rust-bins/duniter-dbex/src/main.rs @@ -49,7 +49,6 @@ use std::{ collections::{HashMap, HashSet}, fs::File, io::{stdin, Write}, - iter::FromIterator, time::Instant, }; use structopt::StructOpt; diff --git a/rust-bins/duniter-dbex/src/migrate.rs b/rust-bins/duniter-dbex/src/migrate.rs index d88dfd6bbc51438299b65f627ef3b5c121f272b2..e3e613a589f8242f6755c77a18b9ea14d4a4de80 100644 --- a/rust-bins/duniter-dbex/src/migrate.rs +++ b/rust-bins/duniter-dbex/src/migrate.rs @@ -65,9 +65,9 @@ fn migrate_inner( let (s, r) = flume::unbounded(); let reader_handle = std::thread::spawn(move || { duniter_js_db.main_blocks().iter(.., |it| { - it.values() - .map(|block_res| s.send(block_res).map_err(|_| anyhow!("fail to send"))) - .collect::<anyhow::Result<()>>() + it.values().try_for_each(|block_res| { + s.send(block_res).map_err(|_| anyhow!("fail to send")) + }) }) }); let (s2, r2) = flume::unbounded(); diff --git a/rust-bins/duniter-dbex/src/print_found_data.rs b/rust-bins/duniter-dbex/src/print_found_data.rs index 0c600ef0b2ab22b7831a79a1ec0f83d4558ebaa0..35e79d65b9a90cb7f52d6d810d95555fdba260d1 100644 --- a/rust-bins/duniter-dbex/src/print_found_data.rs +++ b/rust-bins/duniter-dbex/src/print_found_data.rs @@ -42,7 +42,7 @@ pub fn print_found_data<W: Write>( } let only_properties_set = if !only_properties.is_empty() { - HashSet::from_iter(only_properties.into_iter()) + only_properties.into_iter().collect() } else { HashSet::with_capacity(0) }; diff --git a/rust-libs/modules/gva/dbs-reader/src/uds_of_pubkey.rs b/rust-libs/modules/gva/dbs-reader/src/uds_of_pubkey.rs index 669d3d5e7e9ce3394993354b433c72acd03e7cba..1dc230fb747516703a882e52ec4f0fb2b663193a 100644 --- a/rust-libs/modules/gva/dbs-reader/src/uds_of_pubkey.rs +++ b/rust-libs/modules/gva/dbs-reader/src/uds_of_pubkey.rs @@ -474,14 +474,13 @@ mod tests { use duniter_dbs::smallvec::smallvec as svec; use duniter_dbs::{databases::bc_v2::BcV2DbWritable, SourceAmountValV2, UdIdV2}; use duniter_gva_db::GvaV1DbWritable; - use std::iter::FromIterator; #[test] fn test_filter_blocks_numbers() -> KvResult<()> { let idty = GvaIdtyDbV1 { is_member: true, joins: svec![BlockNumber(26), BlockNumber(51)], - leaves: BTreeSet::from_iter([BlockNumber(32)].iter().copied()), + leaves: [BlockNumber(32)].iter().copied().collect(), first_ud: Some(BlockNumber(29)), }; let blocks_with_ud = vec![ @@ -530,7 +529,7 @@ mod tests { let idty = GvaIdtyDbV1 { is_member: true, joins: svec![BlockNumber(26), BlockNumber(51)], - leaves: BTreeSet::from_iter([BlockNumber(32)].iter().copied()), + leaves: [BlockNumber(32)].iter().copied().collect(), first_ud: Some(BlockNumber(29)), }; diff --git a/rust-libs/modules/gva/src/anti_spam.rs b/rust-libs/modules/gva/src/anti_spam.rs index 925a26d6febd12bab5cf8607fdf7314c751d6d65..82cd3d87da69078dd52ecc516b3c8dd85c624af1 100644 --- a/rust-libs/modules/gva/src/anti_spam.rs +++ b/rust-libs/modules/gva/src/anti_spam.rs @@ -18,7 +18,6 @@ use async_mutex::Mutex; use duniter_dbs::kv_typed::prelude::Arc; use std::{ collections::{HashMap, HashSet}, - iter::FromIterator, net::IpAddr, time::Duration, time::Instant, @@ -49,7 +48,7 @@ impl From<&GvaConf> for AntiSpam { ban: HashMap::with_capacity(10), ips_time: HashMap::with_capacity(10), })), - whitelist: HashSet::from_iter(conf.get_whitelist().iter().copied()), + whitelist: conf.get_whitelist().iter().copied().collect(), } } } diff --git a/rust-libs/tools/kv_typed/src/as_bytes.rs b/rust-libs/tools/kv_typed/src/as_bytes.rs index 7158c00e5d7295a4c632468c2ae695e45fcb3366..c71f6446ffed41210d406dafc891ef65e1eb8a12 100644 --- a/rust-libs/tools/kv_typed/src/as_bytes.rs +++ b/rust-libs/tools/kv_typed/src/as_bytes.rs @@ -47,7 +47,7 @@ where { fn as_bytes<D, F: FnMut(&[u8]) -> D>(&self, mut f: F) -> D { use zerocopy::AsBytes as _; - f((&SmallVec::<[T; 32]>::from_iter(self.iter().copied())[..]).as_bytes()) + f((&self.iter().copied().collect::<SmallVec<[T; 32]>>()[..]).as_bytes()) } } @@ -57,7 +57,7 @@ where { fn as_bytes<D, F: FnMut(&[u8]) -> D>(&self, mut f: F) -> D { use zerocopy::AsBytes as _; - f((&SmallVec::<[T; 32]>::from_iter(self.iter().copied())[..]).as_bytes()) + f((&self.iter().copied().collect::<SmallVec<[T; 32]>>()[..]).as_bytes()) } } diff --git a/rust-libs/tools/kv_typed/src/from_bytes.rs b/rust-libs/tools/kv_typed/src/from_bytes.rs index 61c0c02d58218f5ce19800ae62002a738ce45553..8e867e75ef6120b3eff60d6a19c0285e1a55b387 100644 --- a/rust-libs/tools/kv_typed/src/from_bytes.rs +++ b/rust-libs/tools/kv_typed/src/from_bytes.rs @@ -100,7 +100,7 @@ where let layout_verified = zerocopy::LayoutVerified::<_, [T]>::new_slice(bytes) .ok_or(LayoutVerifiedErr(stringify!(BTreeSet<T>)))?; let slice = layout_verified.into_slice(); - Ok(BTreeSet::from_iter(slice.iter().copied())) + Ok(slice.iter().copied().collect()) } } @@ -114,7 +114,7 @@ where let layout_verified = zerocopy::LayoutVerified::<_, [T]>::new_slice(bytes) .ok_or(LayoutVerifiedErr(stringify!(HashSet<T>)))?; let slice = layout_verified.into_slice(); - Ok(HashSet::from_iter(slice.iter().copied())) + Ok(slice.iter().copied().collect()) } } diff --git a/rust-libs/tools/kv_typed/src/lib.rs b/rust-libs/tools/kv_typed/src/lib.rs index bf67d5887792cf16b929d7a65507f95008408ae6..ec24810c243b17f8dd8e5102c03227d429c84eb3 100644 --- a/rust-libs/tools/kv_typed/src/lib.rs +++ b/rust-libs/tools/kv_typed/src/lib.rs @@ -114,7 +114,6 @@ pub(crate) use std::{ convert::TryInto, error::Error, fmt::{Debug, Display}, - iter::FromIterator, marker::PhantomData, ops::{Bound, RangeBounds}, str::FromStr, diff --git a/rust-libs/tools/kv_typed/tests/test_db_schema.rs b/rust-libs/tools/kv_typed/tests/test_db_schema.rs index 3722783da33877a0374f8089d00216fe01f12271..645989539ed7c56816dc3754715abcf17f37e8a7 100644 --- a/rust-libs/tools/kv_typed/tests/test_db_schema.rs +++ b/rust-libs/tools/kv_typed/tests/test_db_schema.rs @@ -14,6 +14,7 @@ db_schema!( ); #[test] +#[allow(clippy::eq_op)] fn test_macro_db() { assert_eq!(Col1Event::RemoveAll, Col1Event::RemoveAll); @@ -118,9 +119,8 @@ fn test_db<B: Backend>(db: &TestV1Db<B>) -> KvResult<()> { })?; // Test get_ref_slice - use std::iter::FromIterator as _; db.col4_write() - .upsert(4, BTreeSet::from_iter((&[3, 2, 4, 1]).iter().copied()))?; + .upsert(4, (&[3, 2, 4, 1]).iter().copied().collect())?; db.col4().get_ref_slice(&4, |numbers| { assert_eq!(numbers, &[1, 2, 3, 4]); Ok(()) @@ -195,7 +195,7 @@ fn test_db<B: Backend>(db: &TestV1Db<B>) -> KvResult<()> { Ok::<(), KvError>(()) })?; - c4.upsert(4, BTreeSet::from_iter((&[7, 8, 6, 5]).iter().copied())); + c4.upsert(4, (&[7, 8, 6, 5]).iter().copied().collect()); Ok(()) }); tres?;