From 8882c121f83cf4513eaee7515d6dcea133a65d69 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Sat, 21 Feb 2026 13:32:00 +0100 Subject: replace all match_variant instances with try_into the match_variant macro was unclear, unreadable and no longer needed as we have automaticly derived from implementations for all Variant enum fields now --- src/primitive/variant.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/primitive/variant.rs') diff --git a/src/primitive/variant.rs b/src/primitive/variant.rs index 8a1c777..61e6752 100644 --- a/src/primitive/variant.rs +++ b/src/primitive/variant.rs @@ -61,22 +61,14 @@ pub enum Variant { i8(i8), } -impl From for String { - fn from(input: Variant) -> Self { - match input { - Variant::String(value) => value, - Variant::ByteArray(value) => value, - _ => panic!("unknown variant expected string or bytearray {:?}", input), - } - } -} +impl TryFrom for String { + type Error = ProtocolError; -impl From<&Variant> for String { - fn from(input: &Variant) -> Self { + fn try_from(input: Variant) -> Result { match input { - Variant::String(value) => value.clone(), - Variant::ByteArray(value) => value.clone(), - _ => panic!("unknown variant expected string or bytearray {:?}", input), + Variant::String(value) => Ok(value), + Variant::ByteArray(value) => Ok(value), + _ => Err(ProtocolError::UnknownVariant) } } } -- cgit v1.2.3