From 43c5eb765c9692f03c8f401908fedd1ac2d67fef Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Fri, 1 Mar 2024 17:04:10 +1100 Subject: [PATCH] Fix witness_version leaf error type Leaf error types should typically have private fields, provide accessor functions, and not use `non_exhaustive`. --- bitcoin/src/blockdata/script/witness_version.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/bitcoin/src/blockdata/script/witness_version.rs b/bitcoin/src/blockdata/script/witness_version.rs index 05ee2846..943569fc 100644 --- a/bitcoin/src/blockdata/script/witness_version.rs +++ b/bitcoin/src/blockdata/script/witness_version.rs @@ -245,10 +245,14 @@ impl From for TryFromInstructionError { /// Error attempting to create a [`WitnessVersion`] from an integer. #[derive(Clone, Debug, PartialEq, Eq)] -#[non_exhaustive] pub struct TryFromError { /// The invalid non-witness version integer. - pub invalid: u8, + invalid: u8, +} + +impl TryFromError { + /// Returns the invalid non-witness version integer. + pub fn invalid_version(&self) -> u8 { self.invalid } } impl fmt::Display for TryFromError { @@ -258,6 +262,4 @@ impl fmt::Display for TryFromError { } #[cfg(feature = "std")] -impl std::error::Error for TryFromError { - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { None } -} +impl std::error::Error for TryFromError {}