Add missing `?Sized` bounds to `io::Write` parameters
Since we are no longer relying on the blanket `io::Write` impl for `&mut io::Write`, we should now ensure that we do not require `Sized` for our `io::Write` bounds, as its unnecessarily restrictive and can no longer be worked around by simply adding an `&mut`.
This commit is contained in:
parent
2348449d2a
commit
5f2395ce56
|
@ -68,7 +68,7 @@ impl PublicKey {
|
|||
}
|
||||
|
||||
/// Write the public key into a writer
|
||||
pub fn write_into<W: io::Write>(&self, writer: &mut W) -> Result<(), io::Error> {
|
||||
pub fn write_into<W: io::Write + ?Sized>(&self, writer: &mut W) -> Result<(), io::Error> {
|
||||
self.with_serialized(|bytes| writer.write_all(bytes))
|
||||
}
|
||||
|
||||
|
|
|
@ -673,7 +673,7 @@ impl<R: Borrow<Transaction>> SighashCache<R> {
|
|||
|
||||
/// Encodes the BIP341 signing data for any flag type into a given object implementing a
|
||||
/// [`io::Write`] trait.
|
||||
pub fn taproot_encode_signing_data_to<Write: io::Write, T: Borrow<TxOut>>(
|
||||
pub fn taproot_encode_signing_data_to<Write: io::Write + ?Sized, T: Borrow<TxOut>>(
|
||||
&mut self,
|
||||
writer: &mut Write,
|
||||
input_index: usize,
|
||||
|
@ -860,7 +860,7 @@ impl<R: Borrow<Transaction>> SighashCache<R> {
|
|||
/// `script_code` is dependent on the type of the spend transaction. For p2wpkh use
|
||||
/// [`Script::p2wpkh_script_code`], for p2wsh just pass in the witness script. (Also see
|
||||
/// [`Self::p2wpkh_signature_hash`] and [`SighashCache::p2wsh_signature_hash`].)
|
||||
pub fn segwit_v0_encode_signing_data_to<Write: io::Write>(
|
||||
pub fn segwit_v0_encode_signing_data_to<Write: io::Write + ?Sized>(
|
||||
&mut self,
|
||||
writer: &mut Write,
|
||||
input_index: usize,
|
||||
|
@ -984,7 +984,7 @@ impl<R: Borrow<Transaction>> SighashCache<R> {
|
|||
///
|
||||
/// This function can't handle the SIGHASH_SINGLE bug internally, so it returns [`EncodeSigningDataResult`]
|
||||
/// that must be handled by the caller (see [`EncodeSigningDataResult::is_sighash_single_bug`]).
|
||||
pub fn legacy_encode_signing_data_to<Write: io::Write, U: Into<u32>>(
|
||||
pub fn legacy_encode_signing_data_to<Write: io::Write + ?Sized, U: Into<u32>>(
|
||||
&self,
|
||||
writer: &mut Write,
|
||||
input_index: usize,
|
||||
|
@ -1011,7 +1011,7 @@ impl<R: Borrow<Transaction>> SighashCache<R> {
|
|||
return EncodeSigningDataResult::SighashSingleBug;
|
||||
}
|
||||
|
||||
fn encode_signing_data_to_inner<Write: io::Write>(
|
||||
fn encode_signing_data_to_inner<Write: io::Write + ?Sized>(
|
||||
self_: &Transaction,
|
||||
writer: &mut Write,
|
||||
input_index: usize,
|
||||
|
|
|
@ -1109,7 +1109,7 @@ impl TaprootMerkleBranch {
|
|||
/// # Returns
|
||||
///
|
||||
/// The number of bytes written to the writer.
|
||||
pub fn encode<Write: io::Write>(&self, writer: &mut Write) -> io::Result<usize> {
|
||||
pub fn encode<Write: io::Write + ?Sized>(&self, writer: &mut Write) -> io::Result<usize> {
|
||||
for hash in self.0.iter() {
|
||||
writer.write_all(hash.as_ref())?;
|
||||
}
|
||||
|
@ -1237,7 +1237,7 @@ impl ControlBlock {
|
|||
/// # Returns
|
||||
///
|
||||
/// The number of bytes written to the writer.
|
||||
pub fn encode<Write: io::Write>(&self, writer: &mut Write) -> io::Result<usize> {
|
||||
pub fn encode<Write: io::Write + ?Sized>(&self, writer: &mut Write) -> io::Result<usize> {
|
||||
let first_byte: u8 =
|
||||
i32::from(self.output_key_parity) as u8 | self.leaf_version.to_consensus();
|
||||
writer.write_all(&[first_byte])?;
|
||||
|
|
Loading…
Reference in New Issue