What changed, and why it matters
This commit only updates a generated API snapshot file (all-features.txt). It records that some serde helper functions now require only Encode for serialization and only Decode for deserialization, rather than requiring both traits. The actual code change happened elsewhere; this file is just documentation/testing output. There is no security issue visible here.
No action required. Treat as routine maintenance. If reviewing the related source-code change, verify that the relaxed trait bounds do not allow types to be serialized/deserialized in contexts where the previous stricter bounds were intended as a safety invariant.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates consensus_encoding/api/all-features.txt, a public-API snapshot used by rustdoc or similar tooling. The recorded trait bounds on serde_as_consensus::{opt,vec}::{serialize,deserialize} and serde_as_consensus::{serialize,deserialize} changed from T: Encode + Decode to Encode-only for serialize and Decode-only for deserialize. This is a normal, correct API refinement and the snapshot change is purely mechanical. No source code, logic, or security-sensitive behavior is modified in this commit.
Changed components
consensus_encoding/api/all-features.txtInspect captured patch +6 / −6
diff --git a/consensus_encoding/api/all-features.txt b/consensus_encoding/api/all-features.txt
index e6687d56..da18a36b 100644
--- a/consensus_encoding/api/all-features.txt
+++ b/consensus_encoding/api/all-features.txt
@@ -601,13 +601,13 @@ impl<T> core::convert::From<T> for bitcoin_consensus_encoding::error::VecDecoder
pub fn bitcoin_consensus_encoding::error::VecDecoderError<Err>::from(t: T) -> T [impl: impl<T> core::convert::From<T> for bitcoin_consensus_encoding::error::VecDecoderError<Err>]
pub mod bitcoin_consensus_encoding::serde_as_consensus
pub mod bitcoin_consensus_encoding::serde_as_consensus::opt
-pub fn bitcoin_consensus_encoding::serde_as_consensus::opt::deserialize<'d, T, D>(d: D) -> core::result::Result<core::option::Option<T>, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
-pub fn bitcoin_consensus_encoding::serde_as_consensus::opt::serialize<T, S>(t: &core::option::Option<T>, s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, S: serde::ser::Serializer
+pub fn bitcoin_consensus_encoding::serde_as_consensus::opt::deserialize<'d, T, D>(d: D) -> core::result::Result<core::option::Option<T>, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
+pub fn bitcoin_consensus_encoding::serde_as_consensus::opt::serialize<T, S>(t: &core::option::Option<T>, s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode, S: serde::ser::Serializer
pub mod bitcoin_consensus_encoding::serde_as_consensus::vec
-pub fn bitcoin_consensus_encoding::serde_as_consensus::vec::deserialize<'d, T, D>(d: D) -> core::result::Result<alloc::vec::Vec<T>, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
-pub fn bitcoin_consensus_encoding::serde_as_consensus::vec::serialize<T, S>(v: &[T], s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, S: serde::ser::Serializer
-pub fn bitcoin_consensus_encoding::serde_as_consensus::deserialize<'d, T, D>(d: D) -> core::result::Result<T, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
-pub fn bitcoin_consensus_encoding::serde_as_consensus::serialize<T, S>(value: &T, s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode + bitcoin_consensus_encoding::Decode, S: serde::ser::Serializer
+pub fn bitcoin_consensus_encoding::serde_as_consensus::vec::deserialize<'d, T, D>(d: D) -> core::result::Result<alloc::vec::Vec<T>, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
+pub fn bitcoin_consensus_encoding::serde_as_consensus::vec::serialize<T, S>(v: &[T], s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode, S: serde::ser::Serializer
+pub fn bitcoin_consensus_encoding::serde_as_consensus::deserialize<'d, T, D>(d: D) -> core::result::Result<T, <D as serde::de::Deserializer>::Error> where T: bitcoin_consensus_encoding::Decode, D: serde::de::Deserializer<'d>
+pub fn bitcoin_consensus_encoding::serde_as_consensus::serialize<T, S>(value: &T, s: S) -> core::result::Result<<S as serde::ser::Serializer>::Ok, <S as serde::ser::Serializer>::Error> where T: bitcoin_consensus_encoding::Encode, S: serde::ser::Serializer
pub macro bitcoin_consensus_encoding::encoder_newtype!
pub macro bitcoin_consensus_encoding::encoder_newtype_exact!
pub enum bitcoin_consensus_encoding::DecodeError<Err>
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.