aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Audron <me@audron.dev>2026-02-21 17:15:02 +0100
committerMax Audron <me@audron.dev>2026-02-21 17:15:02 +0100
commitb7fffe065d929f36dadb53b950ea1fe79b772332 (patch)
treea9bda3a6c1901f5f2cf621e868d53e38c40f6a0a
parentclean up clippy lints (diff)
use ProtocolError for From derive
Diffstat (limited to '')
-rw-r--r--derive/src/from/mod.rs11
-rw-r--r--src/message/signalproxy/translation.rs3
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;