What changed, and why it matters
This commit simply adds a standard Debug printing implementation to a public iterator type in a Rust Bitcoin library. It is a routine API-quality improvement with no security relevance.
No security action required. Treat as a normal API-quality commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change adds #[derive(Debug, Clone)] to bitcoin_primitives::witness::Iter<'a>, generating a core::fmt::Debug implementation. The diff only updates the derive attribute and the corresponding public API snapshot files (all-features.txt, alloc-only.txt). There is no functional logic change, no unsafe code, no input parsing, no serialization change, and no cryptographic operation affected.
Changed components
primitives/src/witness.rsprimitives/api/all-features.txtprimitives/api/alloc-only.txtInspect captured patch +5 / −1
diff --git a/primitives/api/all-features.txt b/primitives/api/all-features.txt
index c6fcde22..2cfa0d3c 100644
--- a/primitives/api/all-features.txt
+++ b/primitives/api/all-features.txt
@@ -5972,6 +5972,8 @@ pub struct bitcoin_primitives::witness::Iter<'a>
impl core::iter::traits::exact_size::ExactSizeIterator for bitcoin_primitives::witness::Iter<'_>
impl<'a> core::clone::Clone for bitcoin_primitives::witness::Iter<'a>
pub fn bitcoin_primitives::witness::Iter<'a>::clone(&self) -> bitcoin_primitives::witness::Iter<'a> [impl: impl<'a> core::clone::Clone for bitcoin_primitives::witness::Iter<'a>]
+impl<'a> core::fmt::Debug for bitcoin_primitives::witness::Iter<'a>
+ pub fn bitcoin_primitives::witness::Iter<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<'a> core::fmt::Debug for bitcoin_primitives::witness::Iter<'a>]
impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>
pub type bitcoin_primitives::witness::Iter<'a>::Item = &'a [u8] [impl: impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>]
pub fn bitcoin_primitives::witness::Iter<'a>::next(&mut self) -> core::option::Option<Self::Item> [impl: impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>]
diff --git a/primitives/api/alloc-only.txt b/primitives/api/alloc-only.txt
index fed9ec35..e67ffd6e 100644
--- a/primitives/api/alloc-only.txt
+++ b/primitives/api/alloc-only.txt
@@ -5543,6 +5543,8 @@ pub struct bitcoin_primitives::witness::Iter<'a>
impl core::iter::traits::exact_size::ExactSizeIterator for bitcoin_primitives::witness::Iter<'_>
impl<'a> core::clone::Clone for bitcoin_primitives::witness::Iter<'a>
pub fn bitcoin_primitives::witness::Iter<'a>::clone(&self) -> bitcoin_primitives::witness::Iter<'a> [impl: impl<'a> core::clone::Clone for bitcoin_primitives::witness::Iter<'a>]
+impl<'a> core::fmt::Debug for bitcoin_primitives::witness::Iter<'a>
+ pub fn bitcoin_primitives::witness::Iter<'a>::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result [impl: impl<'a> core::fmt::Debug for bitcoin_primitives::witness::Iter<'a>]
impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>
pub type bitcoin_primitives::witness::Iter<'a>::Item = &'a [u8] [impl: impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>]
pub fn bitcoin_primitives::witness::Iter<'a>::next(&mut self) -> core::option::Option<Self::Item> [impl: impl<'a> core::iter::traits::iterator::Iterator for bitcoin_primitives::witness::Iter<'a>]
diff --git a/primitives/src/witness.rs b/primitives/src/witness.rs
index b13b21f6..e676d5fb 100644
--- a/primitives/src/witness.rs
+++ b/primitives/src/witness.rs
@@ -612,7 +612,7 @@ impl fmt::UpperHex for Witness {
}
/// An iterator returning individual witness elements.
-#[derive(Clone)]
+#[derive(Debug, Clone)]
pub struct Iter<'a> {
inner: &'a [u8],
indices_start: usize,
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.