diff options
| author | Max Audron <me@audron.dev> | 2026-02-21 17:15:02 +0100 |
|---|---|---|
| committer | Max Audron <me@audron.dev> | 2026-02-21 17:15:02 +0100 |
| commit | b7fffe065d929f36dadb53b950ea1fe79b772332 (patch) | |
| tree | a9bda3a6c1901f5f2cf621e868d53e38c40f6a0a | |
| parent | clean up clippy lints (diff) | |
use ProtocolError for From derive
Diffstat (limited to '')
| -rw-r--r-- | derive/src/from/mod.rs | 11 | ||||
| -rw-r--r-- | src/message/signalproxy/translation.rs | 3 |
2 files changed, 7 insertions, 7 deletions
diff --git a/derive/src/from/mod.rs b/derive/src/from/mod.rs index 7fd81bf..818623d 100644 --- a/derive/src/from/mod.rs +++ b/derive/src/from/mod.rs @@ -43,7 +43,6 @@ pub fn from(input: proc_macro::TokenStream) -> proc_macro::TokenStream { .map(|field| { let variant = &field.ident; let inner_type = &field.fields.fields[0]; - let inner_type_str = format!("{}", quote! { #inner_type }); quote! { impl From<#inner_type> for #enum_name { @@ -53,23 +52,23 @@ pub fn from(input: proc_macro::TokenStream) -> proc_macro::TokenStream { } impl std::convert::TryFrom<#enum_name> for #inner_type { - type Error = String; + type Error = crate::error::ProtocolError; fn try_from(input: #enum_name) -> Result<Self, Self::Error> { match input { #enum_name::#variant(input) => Ok(input), - v => Err(format!("variant::from: wrong variant, expected: {}, got: {:?}", #inner_type_str, v)), + _ => Err(crate::error::ProtocolError::WrongVariant), } } } impl std::convert::TryFrom<&#enum_name> for #inner_type { - type Error = String; + type Error = crate::error::ProtocolError; fn try_from(input: &#enum_name) -> Result<Self, Self::Error> { match input { #enum_name::#variant(input) => Ok(input.clone()), - v => Err(format!("variant::from: wrong variant, expected: {}, got: {:?}", #inner_type_str, v)), + _ => Err(crate::error::ProtocolError::WrongVariant), } } } @@ -86,3 +85,5 @@ pub fn from(input: proc_macro::TokenStream) -> proc_macro::TokenStream { gen.into() } + + diff --git a/src/message/signalproxy/translation.rs b/src/message/signalproxy/translation.rs index b175e44..f120026 100644 --- a/src/message/signalproxy/translation.rs +++ b/src/message/signalproxy/translation.rs @@ -106,8 +106,7 @@ pub trait Network { pub trait NetworkMap where - // TODO correct this error type - Self::Item: TryFrom<Variant, Error = String>, + Self::Item: TryFrom<Variant, Error = crate::error::ProtocolError>, Self::Item: Into<Variant>, { type Item; |
