What changed, and why it matters
This commit only updates generated API listing files (text snapshots of what functions and types are publicly exposed). It adds documentation of a new error type and a new 'try_push' method for an internal array vector, but it does not change any actual source code or behavior. There is no security issue here.
No action needed. This is a routine API-snapshot maintenance commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates three ‘internals/api/*.txt’ files, which are rustdoc/public-API snapshot files used to track exported API surface. The additions reflect a newly exposed ‘bitcoin_internals::array_vec::error::Error’ enum and a ‘try_push’ method returning ‘Result<(), Error>’. These are API-surface recordings, not implementation changes. No logic, parsing, cryptography, or memory-unsafe code is modified.
Changed components
internals/api/all-features.txtinternals/api/alloc-only.txtinternals/api/no-features.txtInspect captured patch +134 / −0
diff --git a/internals/api/all-features.txt b/internals/api/all-features.txt
index be681ef4..20209c5a 100644
--- a/internals/api/all-features.txt
+++ b/internals/api/all-features.txt
@@ -15,6 +15,53 @@ pub type [T; N]::Item = T
pub fn [T; N]::split_array<const LEFT: usize, const RIGHT: usize>(&self) -> (&[Self::Item; LEFT], &[Self::Item; RIGHT])
pub fn [T; N]::sub_array<const OFFSET: usize, const LEN: usize>(&self) -> &[Self::Item; LEN]
pub mod bitcoin_internals::array_vec
+pub mod bitcoin_internals::array_vec::error
+pub enum bitcoin_internals::array_vec::error::Error
+pub bitcoin_internals::array_vec::error::Error::CapacityExceeded(usize)
+impl core::clone::Clone for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::clone(&self) -> bitcoin_internals::array_vec::error::Error
+impl core::cmp::Eq for bitcoin_internals::array_vec::error::Error
+impl core::cmp::PartialEq for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::eq(&self, other: &bitcoin_internals::array_vec::error::Error) -> bool
+impl core::error::Error for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)>
+impl core::fmt::Debug for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::fmt::Display for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::marker::Copy for bitcoin_internals::array_vec::error::Error
+impl core::marker::StructuralPartialEq for bitcoin_internals::array_vec::error::Error
+impl core::marker::Freeze for bitcoin_internals::array_vec::error::Error
+impl core::marker::Send for bitcoin_internals::array_vec::error::Error
+impl core::marker::Sync for bitcoin_internals::array_vec::error::Error
+impl core::marker::Unpin for bitcoin_internals::array_vec::error::Error
+impl core::marker::UnsafeUnpin for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::UnwindSafe for bitcoin_internals::array_vec::error::Error
+impl<T, U> core::convert::Into<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::From<T>
+pub fn bitcoin_internals::array_vec::error::Error::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::Into<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = core::convert::Infallible
+pub fn bitcoin_internals::array_vec::error::Error::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::TryFrom<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn bitcoin_internals::array_vec::error::Error::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> alloc::borrow::ToOwned for bitcoin_internals::array_vec::error::Error where T: core::clone::Clone
+pub type bitcoin_internals::array_vec::error::Error::Owned = T
+pub fn bitcoin_internals::array_vec::error::Error::clone_into(&self, target: &mut T)
+pub fn bitcoin_internals::array_vec::error::Error::to_owned(&self) -> T
+impl<T> alloc::string::ToString for bitcoin_internals::array_vec::error::Error where T: core::fmt::Display + ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::to_string(&self) -> alloc::string::String
+impl<T> core::any::Any for bitcoin_internals::array_vec::error::Error where T: 'static + ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow_mut(&mut self) -> &mut T
+impl<T> core::clone::CloneToUninit for bitcoin_internals::array_vec::error::Error where T: core::clone::Clone
+pub unsafe fn bitcoin_internals::array_vec::error::Error::clone_to_uninit(&self, dest: *mut u8)
+impl<T> core::convert::From<T> for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::from(t: T) -> T
pub struct bitcoin_internals::array_vec::ArrayVec<T: core::marker::Copy, const CAP: usize>
impl<T: core::marker::Copy, const CAP: usize> bitcoin_internals::array_vec::ArrayVec<T, CAP>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::as_mut_slice(&mut self) -> &mut [T]
@@ -24,6 +71,7 @@ pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::from_slice(slice: &
pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::new() -> Self
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::pop(&mut self) -> core::option::Option<T>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::push(&mut self, element: T)
+pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::try_push(&mut self, element: T) -> core::result::Result<(), bitcoin_internals::array_vec::error::Error>
impl<'de, T, const CAP: usize> serde::de::Deserialize<'de> for bitcoin_internals::array_vec::ArrayVec<T, CAP> where T: core::marker::Copy + serde::de::Deserialize<'de>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::deserialize<D>(deserializer: D) -> core::result::Result<Self, <D as serde::de::Deserializer>::Error> where D: serde::de::Deserializer<'de>
impl<T: core::marker::Copy + core::cmp::Eq, const CAP: usize> core::cmp::Eq for bitcoin_internals::array_vec::ArrayVec<T, CAP>
diff --git a/internals/api/alloc-only.txt b/internals/api/alloc-only.txt
index 16c2ff7f..b75e47e4 100644
--- a/internals/api/alloc-only.txt
+++ b/internals/api/alloc-only.txt
@@ -13,6 +13,51 @@ pub type [T; N]::Item = T
pub fn [T; N]::split_array<const LEFT: usize, const RIGHT: usize>(&self) -> (&[Self::Item; LEFT], &[Self::Item; RIGHT])
pub fn [T; N]::sub_array<const OFFSET: usize, const LEN: usize>(&self) -> &[Self::Item; LEN]
pub mod bitcoin_internals::array_vec
+pub mod bitcoin_internals::array_vec::error
+pub enum bitcoin_internals::array_vec::error::Error
+pub bitcoin_internals::array_vec::error::Error::CapacityExceeded(usize)
+impl core::clone::Clone for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::clone(&self) -> bitcoin_internals::array_vec::error::Error
+impl core::cmp::Eq for bitcoin_internals::array_vec::error::Error
+impl core::cmp::PartialEq for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::eq(&self, other: &bitcoin_internals::array_vec::error::Error) -> bool
+impl core::fmt::Debug for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::fmt::Display for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::marker::Copy for bitcoin_internals::array_vec::error::Error
+impl core::marker::StructuralPartialEq for bitcoin_internals::array_vec::error::Error
+impl core::marker::Freeze for bitcoin_internals::array_vec::error::Error
+impl core::marker::Send for bitcoin_internals::array_vec::error::Error
+impl core::marker::Sync for bitcoin_internals::array_vec::error::Error
+impl core::marker::Unpin for bitcoin_internals::array_vec::error::Error
+impl core::marker::UnsafeUnpin for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::UnwindSafe for bitcoin_internals::array_vec::error::Error
+impl<T, U> core::convert::Into<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::From<T>
+pub fn bitcoin_internals::array_vec::error::Error::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::Into<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = core::convert::Infallible
+pub fn bitcoin_internals::array_vec::error::Error::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::TryFrom<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn bitcoin_internals::array_vec::error::Error::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> alloc::borrow::ToOwned for bitcoin_internals::array_vec::error::Error where T: core::clone::Clone
+pub type bitcoin_internals::array_vec::error::Error::Owned = T
+pub fn bitcoin_internals::array_vec::error::Error::clone_into(&self, target: &mut T)
+pub fn bitcoin_internals::array_vec::error::Error::to_owned(&self) -> T
+impl<T> alloc::string::ToString for bitcoin_internals::array_vec::error::Error where T: core::fmt::Display + ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::to_string(&self) -> alloc::string::String
+impl<T> core::any::Any for bitcoin_internals::array_vec::error::Error where T: 'static + ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow_mut(&mut self) -> &mut T
+impl<T> core::clone::CloneToUninit for bitcoin_internals::array_vec::error::Error where T: core::clone::Clone
+pub unsafe fn bitcoin_internals::array_vec::error::Error::clone_to_uninit(&self, dest: *mut u8)
+impl<T> core::convert::From<T> for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::from(t: T) -> T
pub struct bitcoin_internals::array_vec::ArrayVec<T: core::marker::Copy, const CAP: usize>
impl<T: core::marker::Copy, const CAP: usize> bitcoin_internals::array_vec::ArrayVec<T, CAP>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::as_mut_slice(&mut self) -> &mut [T]
@@ -22,6 +67,7 @@ pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::from_slice(slice: &
pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::new() -> Self
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::pop(&mut self) -> core::option::Option<T>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::push(&mut self, element: T)
+pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::try_push(&mut self, element: T) -> core::result::Result<(), bitcoin_internals::array_vec::error::Error>
impl<T: core::marker::Copy + core::cmp::Eq, const CAP: usize> core::cmp::Eq for bitcoin_internals::array_vec::ArrayVec<T, CAP>
impl<T: core::marker::Copy + core::cmp::Ord, const CAP: usize> core::cmp::Ord for bitcoin_internals::array_vec::ArrayVec<T, CAP>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::cmp(&self, other: &Self) -> core::cmp::Ordering
diff --git a/internals/api/no-features.txt b/internals/api/no-features.txt
index bde69901..bb0fce6d 100644
--- a/internals/api/no-features.txt
+++ b/internals/api/no-features.txt
@@ -13,6 +13,45 @@ pub type [T; N]::Item = T
pub fn [T; N]::split_array<const LEFT: usize, const RIGHT: usize>(&self) -> (&[Self::Item; LEFT], &[Self::Item; RIGHT])
pub fn [T; N]::sub_array<const OFFSET: usize, const LEN: usize>(&self) -> &[Self::Item; LEN]
pub mod bitcoin_internals::array_vec
+pub mod bitcoin_internals::array_vec::error
+pub enum bitcoin_internals::array_vec::error::Error
+pub bitcoin_internals::array_vec::error::Error::CapacityExceeded(usize)
+impl core::clone::Clone for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::clone(&self) -> bitcoin_internals::array_vec::error::Error
+impl core::cmp::Eq for bitcoin_internals::array_vec::error::Error
+impl core::cmp::PartialEq for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::eq(&self, other: &bitcoin_internals::array_vec::error::Error) -> bool
+impl core::fmt::Debug for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::fmt::Display for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
+impl core::marker::Copy for bitcoin_internals::array_vec::error::Error
+impl core::marker::StructuralPartialEq for bitcoin_internals::array_vec::error::Error
+impl core::marker::Freeze for bitcoin_internals::array_vec::error::Error
+impl core::marker::Send for bitcoin_internals::array_vec::error::Error
+impl core::marker::Sync for bitcoin_internals::array_vec::error::Error
+impl core::marker::Unpin for bitcoin_internals::array_vec::error::Error
+impl core::marker::UnsafeUnpin for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::RefUnwindSafe for bitcoin_internals::array_vec::error::Error
+impl core::panic::unwind_safe::UnwindSafe for bitcoin_internals::array_vec::error::Error
+impl<T, U> core::convert::Into<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::From<T>
+pub fn bitcoin_internals::array_vec::error::Error::into(self) -> U
+impl<T, U> core::convert::TryFrom<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::Into<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = core::convert::Infallible
+pub fn bitcoin_internals::array_vec::error::Error::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
+impl<T, U> core::convert::TryInto<U> for bitcoin_internals::array_vec::error::Error where U: core::convert::TryFrom<T>
+pub type bitcoin_internals::array_vec::error::Error::Error = <U as core::convert::TryFrom<T>>::Error
+pub fn bitcoin_internals::array_vec::error::Error::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
+impl<T> core::any::Any for bitcoin_internals::array_vec::error::Error where T: 'static + ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::type_id(&self) -> core::any::TypeId
+impl<T> core::borrow::Borrow<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow(&self) -> &T
+impl<T> core::borrow::BorrowMut<T> for bitcoin_internals::array_vec::error::Error where T: ?core::marker::Sized
+pub fn bitcoin_internals::array_vec::error::Error::borrow_mut(&mut self) -> &mut T
+impl<T> core::clone::CloneToUninit for bitcoin_internals::array_vec::error::Error where T: core::clone::Clone
+pub unsafe fn bitcoin_internals::array_vec::error::Error::clone_to_uninit(&self, dest: *mut u8)
+impl<T> core::convert::From<T> for bitcoin_internals::array_vec::error::Error
+pub fn bitcoin_internals::array_vec::error::Error::from(t: T) -> T
pub struct bitcoin_internals::array_vec::ArrayVec<T: core::marker::Copy, const CAP: usize>
impl<T: core::marker::Copy, const CAP: usize> bitcoin_internals::array_vec::ArrayVec<T, CAP>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::as_mut_slice(&mut self) -> &mut [T]
@@ -22,6 +61,7 @@ pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::from_slice(slice: &
pub const fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::new() -> Self
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::pop(&mut self) -> core::option::Option<T>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::push(&mut self, element: T)
+pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::try_push(&mut self, element: T) -> core::result::Result<(), bitcoin_internals::array_vec::error::Error>
impl<T: core::marker::Copy + core::cmp::Eq, const CAP: usize> core::cmp::Eq for bitcoin_internals::array_vec::ArrayVec<T, CAP>
impl<T: core::marker::Copy + core::cmp::Ord, const CAP: usize> core::cmp::Ord for bitcoin_internals::array_vec::ArrayVec<T, CAP>
pub fn bitcoin_internals::array_vec::ArrayVec<T, CAP>::cmp(&self, other: &Self) -> core::cmp::Ordering
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.