diff --git a/bitcoin/src/consensus/encode.rs b/bitcoin/src/consensus/encode.rs index 6d0a3a7b..e618c925 100644 --- a/bitcoin/src/consensus/encode.rs +++ b/bitcoin/src/consensus/encode.rs @@ -320,7 +320,7 @@ pub trait Decodable: Sized { /// instead. #[inline] fn consensus_decode(reader: &mut R) -> Result { - Self::consensus_decode_from_finite_reader(reader.take(MAX_VEC_SIZE as u64).by_ref()) + Self::consensus_decode_from_finite_reader(&mut reader.take(MAX_VEC_SIZE as u64)) } } diff --git a/bitcoin/src/internal_macros.rs b/bitcoin/src/internal_macros.rs index cf95940f..940d1c1e 100644 --- a/bitcoin/src/internal_macros.rs +++ b/bitcoin/src/internal_macros.rs @@ -37,7 +37,7 @@ macro_rules! impl_consensus_encoding { use crate::io::Read as _; let mut r = r.take($crate::consensus::encode::MAX_VEC_SIZE as u64); Ok($thing { - $($field: $crate::consensus::Decodable::consensus_decode(r.by_ref())?),+ + $($field: $crate::consensus::Decodable::consensus_decode(&mut r)?),+ }) } } diff --git a/bitcoin/src/p2p/message.rs b/bitcoin/src/p2p/message.rs index 0b92e089..d4d0cb59 100644 --- a/bitcoin/src/p2p/message.rs +++ b/bitcoin/src/p2p/message.rs @@ -429,7 +429,7 @@ impl Decodable for HeaderDeserializationWrapper { #[inline] fn consensus_decode(r: &mut R) -> Result { - Self::consensus_decode_from_finite_reader(r.take(MAX_MSG_SIZE as u64).by_ref()) + Self::consensus_decode_from_finite_reader(&mut r.take(MAX_MSG_SIZE as u64)) } } @@ -534,7 +534,7 @@ impl Decodable for RawNetworkMessage { #[inline] fn consensus_decode(r: &mut R) -> Result { - Self::consensus_decode_from_finite_reader(r.take(MAX_MSG_SIZE as u64).by_ref()) + Self::consensus_decode_from_finite_reader(&mut r.take(MAX_MSG_SIZE as u64)) } }