]> Untitled Git - bdk/commitdiff
fix: Cargo clippy lints after rust 1.78
authorDaniela Brozzoni <danielabrozzoni@protonmail.com>
Thu, 2 May 2024 12:53:37 +0000 (14:53 +0200)
committerDaniela Brozzoni <danielabrozzoni@protonmail.com>
Thu, 2 May 2024 13:24:21 +0000 (15:24 +0200)
crates/bdk/src/wallet/export.rs
crates/chain/src/local_chain.rs
crates/chain/src/spk_client.rs
crates/chain/src/spk_iter.rs
crates/chain/src/spk_txout_index.rs

index 95252a01dda32e4fc7e70ea02ab2fd43de91e4e9..b6349309b163e2d54285ec810d5a21c18a1395e9 100644 (file)
@@ -53,7 +53,8 @@
 //! # Ok::<_, Box<dyn std::error::Error>>(())
 //! ```
 
-use alloc::string::{String, ToString};
+use alloc::string::String;
+use core::fmt;
 use core::str::FromStr;
 use serde::{Deserialize, Serialize};
 
@@ -79,9 +80,9 @@ pub struct FullyNodedExport {
     pub label: String,
 }
 
-impl ToString for FullyNodedExport {
-    fn to_string(&self) -> String {
-        serde_json::to_string(self).unwrap()
+impl fmt::Display for FullyNodedExport {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}", serde_json::to_string(self).unwrap())
     }
 }
 
@@ -213,6 +214,7 @@ impl FullyNodedExport {
 mod test {
     use core::str::FromStr;
 
+    use crate::std::string::ToString;
     use bdk_chain::{BlockId, ConfirmationTime};
     use bitcoin::hashes::Hash;
     use bitcoin::{transaction, BlockHash, Network, Transaction};
index 157b9db2796f016c7ac7890d588b1c81344b6e19..2c396cb33e3d07a00e4e9047e2eca96867c295a4 100644 (file)
@@ -265,7 +265,7 @@ impl Iterator for CheckPointIter {
 
     fn next(&mut self) -> Option<Self::Item> {
         let current = self.current.clone()?;
-        self.current = current.prev.clone();
+        self.current.clone_from(&current.prev);
         Some(CheckPoint(current))
     }
 }
@@ -359,7 +359,7 @@ impl LocalChain {
     /// The [`BTreeMap`] enforces the height order. However, the caller must ensure the blocks are
     /// all of the same chain.
     pub fn from_blocks(blocks: BTreeMap<u32, BlockHash>) -> Result<Self, MissingGenesisError> {
-        if blocks.get(&0).is_none() {
+        if !blocks.contains_key(&0) {
             return Err(MissingGenesisError);
         }
 
index eefa211c6ae6892ee7a3c95d68134be2958c452d..6eb32da71a0dd4d22a2696ccb031fda1f23ac15b 100644 (file)
@@ -255,6 +255,9 @@ impl<K: Ord + Clone> FullScanRequest<K> {
         spks: impl IntoIterator<IntoIter = impl Iterator<Item = (u32, ScriptBuf)> + Send + 'static>,
     ) -> Self {
         match self.spks_by_keychain.remove(&keychain) {
+            // clippy here suggests to remove `into_iter` from `spks.into_iter()`, but doing so
+            // results in a compilation error
+            #[allow(clippy::useless_conversion)]
             Some(keychain_spks) => self
                 .spks_by_keychain
                 .insert(keychain, Box::new(keychain_spks.chain(spks.into_iter()))),
index 6846e66d485dc44ab8dc450108aacdcb8bd31e20..a3944c958a085238bca26ea0fae1d8611c739518 100644 (file)
@@ -260,6 +260,7 @@ mod test {
     }
 
     // The following dummy traits were created to test if SpkIterator is working properly.
+    #[allow(unused)]
     trait TestSendStatic: Send + 'static {
         fn test(&self) -> u32 {
             20
index a3ad48d0ae5bf9b0f14b788f45fd39e5658798bc..3f3db2ae637dacaec26189833ede4f1f8af823df 100644 (file)
@@ -229,7 +229,7 @@ impl<I: Clone + Ord> SpkTxOutIndex<I> {
     /// Here, "unused" means that after the script pubkey was stored in the index, the index has
     /// never scanned a transaction output with it.
     pub fn is_used(&self, index: &I) -> bool {
-        self.unused.get(index).is_none()
+        !self.unused.contains(index)
     }
 
     /// Marks the script pubkey at `index` as used even though it hasn't seen an output spending to it.