What changed, and why it matters
This commit only updates generated API snapshot files (text listings of public functions) for the consensus_encoding crate. It adds entries for three new public functions that decode data using an explicit decoder type. There is no source code change, no bug fix, and no security relevance visible in the diff.
No security action needed. Review the corresponding source-code commit that introduced the new public functions if you want to assess whether the new decoder API has any security implications.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates three api/*.txt files that are typically produced by cargo public-api or a similar API-snapshot tool. They now include decode_from_read_with, decode_from_slice_unbounded_with, and decode_from_slice_with. These are signature-only listings; the actual implementation is not present in the commit. The change is purely a documentation/CI artifact update reflecting newly exposed API surface.
Changed components
consensus_encoding/api/all-features.txtconsensus_encoding/api/alloc-only.txtconsensus_encoding/api/no-features.txtInspect captured patch +8 / −1
diff --git a/consensus_encoding/api/all-features.txt b/consensus_encoding/api/all-features.txt
index 0fc30e3e..6ffaf0d0 100644
--- a/consensus_encoding/api/all-features.txt
+++ b/consensus_encoding/api/all-features.txt
@@ -1556,8 +1556,11 @@ pub fn bitcoin_consensus_encoding::decode_from_hex<T: bitcoin_consensus_encoding
pub fn bitcoin_consensus_encoding::decode_from_read<T, R>(reader: R) -> core::result::Result<T, bitcoin_consensus_encoding::error::ReadError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>> where T: bitcoin_consensus_encoding::Decode, R: std::io::BufRead
pub fn bitcoin_consensus_encoding::decode_from_read_unbuffered<T, R>(reader: R) -> core::result::Result<T, bitcoin_consensus_encoding::error::ReadError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>> where T: bitcoin_consensus_encoding::Decode, R: std::io::Read
pub fn bitcoin_consensus_encoding::decode_from_read_unbuffered_with<T, R, const BUFFER_SIZE: usize>(reader: R) -> core::result::Result<T, bitcoin_consensus_encoding::error::ReadError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>> where T: bitcoin_consensus_encoding::Decode, R: std::io::Read
+pub fn bitcoin_consensus_encoding::decode_from_read_with<D, R>(reader: R) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, bitcoin_consensus_encoding::error::ReadError<<D as bitcoin_consensus_encoding::Decoder>::Error>> where D: bitcoin_consensus_encoding::Decoder + core::default::Default, R: std::io::BufRead
pub fn bitcoin_consensus_encoding::decode_from_slice<T: bitcoin_consensus_encoding::Decode>(bytes: &[u8]) -> core::result::Result<T, bitcoin_consensus_encoding::error::DecodeError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>>
pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded<T>(bytes: &mut &[u8]) -> core::result::Result<T, <<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error> where T: bitcoin_consensus_encoding::Decode
+pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &mut &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, <D as bitcoin_consensus_encoding::Decoder>::Error>
+pub fn bitcoin_consensus_encoding::decode_from_slice_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, bitcoin_consensus_encoding::error::DecodeError<<D as bitcoin_consensus_encoding::Decoder>::Error>>
pub fn bitcoin_consensus_encoding::drain_to_hex<T>(encoder: T, case: hex_conservative::Case) -> alloc::string::String where T: bitcoin_consensus_encoding::Encoder
pub fn bitcoin_consensus_encoding::drain_to_vec<T>(encoder: &mut T) -> alloc::vec::Vec<u8> where T: bitcoin_consensus_encoding::Encoder + ?core::marker::Sized
pub fn bitcoin_consensus_encoding::drain_to_writer<T, W>(encoder: &mut T, writer: W) -> core::result::Result<(), std::io::error::Error> where T: bitcoin_consensus_encoding::Encoder + ?core::marker::Sized, W: std::io::Write
diff --git a/consensus_encoding/api/alloc-only.txt b/consensus_encoding/api/alloc-only.txt
index 2275593a..cac5a73a 100644
--- a/consensus_encoding/api/alloc-only.txt
+++ b/consensus_encoding/api/alloc-only.txt
@@ -1442,5 +1442,7 @@ pub fn bitcoin_consensus_encoding::check_encode<T: bitcoin_consensus_encoding::E
pub fn bitcoin_consensus_encoding::check_encoder<T: bitcoin_consensus_encoding::Encoder + ?core::marker::Sized>(encoder: &mut T, expected: &[u8])
pub fn bitcoin_consensus_encoding::decode_from_slice<T: bitcoin_consensus_encoding::Decode>(bytes: &[u8]) -> core::result::Result<T, bitcoin_consensus_encoding::error::DecodeError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>>
pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded<T>(bytes: &mut &[u8]) -> core::result::Result<T, <<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error> where T: bitcoin_consensus_encoding::Decode
+pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &mut &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, <D as bitcoin_consensus_encoding::Decoder>::Error>
+pub fn bitcoin_consensus_encoding::decode_from_slice_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, bitcoin_consensus_encoding::error::DecodeError<<D as bitcoin_consensus_encoding::Decoder>::Error>>
pub fn bitcoin_consensus_encoding::drain_to_vec<T>(encoder: &mut T) -> alloc::vec::Vec<u8> where T: bitcoin_consensus_encoding::Encoder + ?core::marker::Sized
pub fn bitcoin_consensus_encoding::encode_to_vec<T>(object: &T) -> alloc::vec::Vec<u8> where T: bitcoin_consensus_encoding::Encode + ?core::marker::Sized
\ No newline at end of file
diff --git a/consensus_encoding/api/no-features.txt b/consensus_encoding/api/no-features.txt
index b699ed3d..bd1355f9 100644
--- a/consensus_encoding/api/no-features.txt
+++ b/consensus_encoding/api/no-features.txt
@@ -1132,4 +1132,6 @@ pub fn bitcoin_consensus_encoding::check_decoder<D: bitcoin_consensus_encoding::
pub fn bitcoin_consensus_encoding::check_encode<T: bitcoin_consensus_encoding::Encode + ?core::marker::Sized>(value: &T, expected: &[u8])
pub fn bitcoin_consensus_encoding::check_encoder<T: bitcoin_consensus_encoding::Encoder + ?core::marker::Sized>(encoder: &mut T, expected: &[u8])
pub fn bitcoin_consensus_encoding::decode_from_slice<T: bitcoin_consensus_encoding::Decode>(bytes: &[u8]) -> core::result::Result<T, bitcoin_consensus_encoding::error::DecodeError<<<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error>>
-pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded<T>(bytes: &mut &[u8]) -> core::result::Result<T, <<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error> where T: bitcoin_consensus_encoding::Decode
\ No newline at end of file
+pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded<T>(bytes: &mut &[u8]) -> core::result::Result<T, <<T as bitcoin_consensus_encoding::Decode>::Decoder as bitcoin_consensus_encoding::Decoder>::Error> where T: bitcoin_consensus_encoding::Decode
+pub fn bitcoin_consensus_encoding::decode_from_slice_unbounded_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &mut &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, <D as bitcoin_consensus_encoding::Decoder>::Error>
+pub fn bitcoin_consensus_encoding::decode_from_slice_with<D: bitcoin_consensus_encoding::Decoder + core::default::Default>(bytes: &[u8]) -> core::result::Result<<D as bitcoin_consensus_encoding::Decoder>::Output, bitcoin_consensus_encoding::error::DecodeError<<D as bitcoin_consensus_encoding::Decoder>::Error>>
\ No newline at end of file
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.