diff --git a/src/key.rs b/src/key.rs index 4f715d8c6..8d883aa6e 100644 --- a/src/key.rs +++ b/src/key.rs @@ -1277,6 +1277,24 @@ impl Parity { } } +/// `Even` for `0`, `Odd` for `1`, error for anything else +impl TryFrom for Parity { + type Error = InvalidParityValue; + + fn try_from(parity: i32) -> Result { + Self::from_i32(parity) + } +} + +/// `Even` for `0`, `Odd` for `1`, error for anything else +impl TryFrom for Parity { + type Error = InvalidParityValue; + + fn try_from(parity: u8) -> Result { + Self::from_u8(parity) + } +} + /// The conversion returns `0` for even parity and `1` for odd. impl From for i32 { fn from(parity: Parity) -> i32 {