diff --git a/src/lib.rs b/src/lib.rs index 8215418c..790b6182 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,6 +35,7 @@ #![deny(dead_code)] #![deny(unused_imports)] #![deny(missing_docs)] +#![deny(unused_must_use)] // Re-exported dependencies. #[macro_use] pub extern crate bitcoin_hashes as hashes; diff --git a/src/util/address.rs b/src/util/address.rs index 182aee5a..2c26e7cf 100644 --- a/src/util/address.rs +++ b/src/util/address.rs @@ -222,7 +222,7 @@ impl Address { #[inline] pub fn p2pkh(pk: &key::PublicKey, network: Network) -> Address { let mut hash_engine = PubkeyHash::engine(); - pk.write_into(&mut hash_engine); + pk.write_into(&mut hash_engine).expect("engines don't error"); Address { network: network, @@ -250,7 +250,7 @@ impl Address { } let mut hash_engine = WPubkeyHash::engine(); - pk.write_into(&mut hash_engine); + pk.write_into(&mut hash_engine).expect("engines don't error"); Ok(Address { network: network, @@ -271,7 +271,7 @@ impl Address { } let mut hash_engine = WPubkeyHash::engine(); - pk.write_into(&mut hash_engine); + pk.write_into(&mut hash_engine).expect("engines don't error"); let builder = script::Builder::new() .push_int(0) diff --git a/src/util/bip32.rs b/src/util/bip32.rs index 0e27d95d..ad179be8 100644 --- a/src/util/bip32.rs +++ b/src/util/bip32.rs @@ -575,7 +575,7 @@ impl ExtendedPubKey { /// Returns the HASH160 of the public key of the xpub pub fn identifier(&self) -> XpubIdentifier { let mut engine = XpubIdentifier::engine(); - self.public_key.write_into(&mut engine); + self.public_key.write_into(&mut engine).expect("engines don't error"); XpubIdentifier::from_engine(engine) } diff --git a/src/util/key.rs b/src/util/key.rs index bf68cfd5..52cc97c8 100644 --- a/src/util/key.rs +++ b/src/util/key.rs @@ -101,18 +101,18 @@ impl PublicKey { } /// Write the public key into a writer - pub fn write_into(&self, mut writer: W) { - let _: io::Result<()> = if self.compressed { + pub fn write_into(&self, mut writer: W) -> Result<(), io::Error> { + if self.compressed { writer.write_all(&self.key.serialize()) } else { writer.write_all(&self.key.serialize_uncompressed()) - }; + } } /// Serialize the public key to bytes pub fn to_bytes(&self) -> Vec { let mut buf = Vec::new(); - self.write_into(&mut buf); + self.write_into(&mut buf).expect("vecs don't error"); buf } diff --git a/src/util/psbt/serialize.rs b/src/util/psbt/serialize.rs index c64b2655..7344c73f 100644 --- a/src/util/psbt/serialize.rs +++ b/src/util/psbt/serialize.rs @@ -63,7 +63,7 @@ impl Deserialize for Script { impl Serialize for PublicKey { fn serialize(&self) -> Vec { let mut buf = Vec::new(); - self.write_into(&mut buf); + self.write_into(&mut buf).expect("vecs don't error"); buf } }