aboutsummaryrefslogtreecommitdiff
path: root/derive/src/from
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 /derive/src/from
parentclean up clippy lints (diff)
use ProtocolError for From derive
Diffstat (limited to 'derive/src/from')
-rw-r--r--derive/src/from/mod.rs11
1 files changed, 6 insertions, 5 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()
}
+
+
6bb064c81d23e8d9f73c6a20171f89876&follow=1'>fix network objectMax Audron-18/+24 2021-07-21minor docs and cleanupMax Audron-4/+8 2021-04-05WIP: impl more signalproxy objectsMax Audron-1000/+1621 2021-03-09WIP: impl signalproxy typesMax Audron-253/+376 2021-01-21add to and from network deriveMax Audron-42/+2767 2021-01-21reorganize tests and add quassel featuresMax Audron-551/+850 2021-01-04add example program: quasselproxyclientMax Audron-0/+280 2021-01-04random stuffMax Audron-2/+9 2021-01-04add more signalproxy objectsMax Audron-40/+120 2021-01-04add message parsing feature flagsMax Audron-43/+96 2021-01-04fix parsing of datetime when value is -1Max Audron-1/+9 2021-01-02update dependenciesMax Audron-267/+27 2021-01-02rework handshakemessage parsingMax Audron-141/+278 2020-10-16updateMax Audron-1553/+294 2020-10-16update paperworkMax Audron-487/+391