What changed, and why it matters
This commit only updates generated API snapshot text files that record which Rust traits are implemented for the library's types. The actual code change (adding or removing trait bounds on equality comparisons for a Block type) is not present in the diff; only the auto-generated documentation of the public API surface changed. There is no executable code modification, no bug fix, and no security-relevant behavior change visible here.
No security action needed. Treat as a routine API-snapshot maintenance commit. If reviewing a related PR, inspect the actual source-code commit that changed the Block trait bounds to confirm the equality semantics are intentional and sound.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies primitives/api/all-features.txt and primitives/api/alloc-only.txt, which are rustdoc-generated public-API snapshots used to track API stability. The change reflects that Block
Changed components
primitives/api/all-features.txtprimitives/api/alloc-only.txtInspect captured patch +12 / −16
diff --git a/primitives/api/all-features.txt b/primitives/api/all-features.txt
index be681f45..9ebd4104 100644
--- a/primitives/api/all-features.txt
+++ b/primitives/api/all-features.txt
@@ -501,6 +501,9 @@ impl core::str::traits::FromStr for bitcoin_primitives::block::Block<bitcoin_pri
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::from_str(s: &str) -> core::result::Result<Self, Self::Err> [impl: impl core::str::traits::FromStr for bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked> where Self: bitcoin_consensus_encoding::decode::Decode]
impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Block
pub fn bitcoin_primitives::block::Block::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result<Self> [impl: impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Block]
+impl<V: bitcoin_primitives::block::Validation> core::cmp::Eq for bitcoin_primitives::block::Block<V>
+impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>
+ pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &Self) -> bool [impl: impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>]
impl<V: bitcoin_primitives::block::Validation> core::fmt::Display for bitcoin_primitives::block::Block<V> where Self: bitcoin_consensus_encoding::encode::Encode
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V: bitcoin_primitives::block::Validation> core::fmt::Display for bitcoin_primitives::block::Block<V> where Self: bitcoin_consensus_encoding::encode::Encode]
impl<V: bitcoin_primitives::block::Validation> core::fmt::LowerHex for bitcoin_primitives::block::Block<V>
@@ -512,12 +515,8 @@ impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block
pub fn bitcoin_primitives::block::Block<V>::encoder(&self) -> Self::Encoder [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone
pub fn bitcoin_primitives::block::Block<V>::clone(&self) -> bitcoin_primitives::block::Block<V> [impl: impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone]
-impl<V> core::cmp::Eq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::Eq
-impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
- pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &bitcoin_primitives::block::Block<V>) -> bool [impl: impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq]
impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug]
-impl<V> core::marker::StructuralPartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
impl<V> core::marker::Freeze for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Send for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Sync for bitcoin_primitives::block::Block<V>
@@ -6766,6 +6765,9 @@ impl core::str::traits::FromStr for bitcoin_primitives::block::Block<bitcoin_pri
pub fn bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked>::from_str(s: &str) -> core::result::Result<Self, Self::Err> [impl: impl core::str::traits::FromStr for bitcoin_primitives::block::Block<bitcoin_primitives::block::Unchecked> where Self: bitcoin_consensus_encoding::decode::Decode]
impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Block
pub fn bitcoin_primitives::block::Block::arbitrary(u: &mut arbitrary::unstructured::Unstructured<'a>) -> arbitrary::error::Result<Self> [impl: impl<'a> arbitrary::Arbitrary<'a> for bitcoin_primitives::block::Block]
+impl<V: bitcoin_primitives::block::Validation> core::cmp::Eq for bitcoin_primitives::block::Block<V>
+impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>
+ pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &Self) -> bool [impl: impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>]
impl<V: bitcoin_primitives::block::Validation> core::fmt::Display for bitcoin_primitives::block::Block<V> where Self: bitcoin_consensus_encoding::encode::Encode
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V: bitcoin_primitives::block::Validation> core::fmt::Display for bitcoin_primitives::block::Block<V> where Self: bitcoin_consensus_encoding::encode::Encode]
impl<V: bitcoin_primitives::block::Validation> core::fmt::LowerHex for bitcoin_primitives::block::Block<V>
@@ -6777,12 +6779,8 @@ impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block
pub fn bitcoin_primitives::block::Block<V>::encoder(&self) -> Self::Encoder [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone
pub fn bitcoin_primitives::block::Block<V>::clone(&self) -> bitcoin_primitives::block::Block<V> [impl: impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone]
-impl<V> core::cmp::Eq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::Eq
-impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
- pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &bitcoin_primitives::block::Block<V>) -> bool [impl: impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq]
impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug]
-impl<V> core::marker::StructuralPartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
impl<V> core::marker::Freeze for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Send for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Sync for bitcoin_primitives::block::Block<V>
diff --git a/primitives/api/alloc-only.txt b/primitives/api/alloc-only.txt
index e4b4269e..3b33a891 100644
--- a/primitives/api/alloc-only.txt
+++ b/primitives/api/alloc-only.txt
@@ -479,17 +479,16 @@ impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitiv
pub fn bitcoin_primitives::BlockHash::from(block: &bitcoin_primitives::block::Block) -> Self [impl: impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash]
impl core::convert::From<bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash
pub fn bitcoin_primitives::BlockHash::from(block: bitcoin_primitives::block::Block) -> Self [impl: impl core::convert::From<bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash]
+impl<V: bitcoin_primitives::block::Validation> core::cmp::Eq for bitcoin_primitives::block::Block<V>
+impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>
+ pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &Self) -> bool [impl: impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>]
impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation
pub type bitcoin_primitives::block::Block<V>::Encoder<'e> where Self: 'e = bitcoin_primitives::block::BlockEncoder<'e> [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
pub fn bitcoin_primitives::block::Block<V>::encoder(&self) -> Self::Encoder [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone
pub fn bitcoin_primitives::block::Block<V>::clone(&self) -> bitcoin_primitives::block::Block<V> [impl: impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone]
-impl<V> core::cmp::Eq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::Eq
-impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
- pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &bitcoin_primitives::block::Block<V>) -> bool [impl: impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq]
impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug]
-impl<V> core::marker::StructuralPartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
impl<V> core::marker::Freeze for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Send for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Sync for bitcoin_primitives::block::Block<V>
@@ -6306,17 +6305,16 @@ impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitiv
pub fn bitcoin_primitives::BlockHash::from(block: &bitcoin_primitives::block::Block) -> Self [impl: impl core::convert::From<&bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash]
impl core::convert::From<bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash
pub fn bitcoin_primitives::BlockHash::from(block: bitcoin_primitives::block::Block) -> Self [impl: impl core::convert::From<bitcoin_primitives::block::Block> for bitcoin_primitives::BlockHash]
+impl<V: bitcoin_primitives::block::Validation> core::cmp::Eq for bitcoin_primitives::block::Block<V>
+impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>
+ pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &Self) -> bool [impl: impl<V: bitcoin_primitives::block::Validation> core::cmp::PartialEq for bitcoin_primitives::block::Block<V>]
impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation
pub type bitcoin_primitives::block::Block<V>::Encoder<'e> where Self: 'e = bitcoin_primitives::block::BlockEncoder<'e> [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
pub fn bitcoin_primitives::block::Block<V>::encoder(&self) -> Self::Encoder [impl: impl<V> bitcoin_consensus_encoding::encode::Encode for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation]
impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone
pub fn bitcoin_primitives::block::Block<V>::clone(&self) -> bitcoin_primitives::block::Block<V> [impl: impl<V> core::clone::Clone for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::clone::Clone]
-impl<V> core::cmp::Eq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::Eq
-impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
- pub fn bitcoin_primitives::block::Block<V>::eq(&self, other: &bitcoin_primitives::block::Block<V>) -> bool [impl: impl<V> core::cmp::PartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq]
impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug
pub fn bitcoin_primitives::block::Block<V>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<V> core::fmt::Debug for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::fmt::Debug]
-impl<V> core::marker::StructuralPartialEq for bitcoin_primitives::block::Block<V> where V: bitcoin_primitives::block::Validation + core::cmp::PartialEq
impl<V> core::marker::Freeze for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Send for bitcoin_primitives::block::Block<V>
impl<V> core::marker::Sync for bitcoin_primitives::block::Block<V>
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.