From b7fffe065d929f36dadb53b950ea1fe79b772332 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Sat, 21 Feb 2026 17:15:02 +0100 Subject: use ProtocolError for From derive --- derive/src/from/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'derive/src/from') 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 { 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 { 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() } + + -- cgit v1.2.3 '>log msg
Commit message (Expand)AuthorLines
2021-09-07add about commandMax Audron-3/+20
2021-09-07add stuff to ignore for git and containersMax Audron-0/+3
2021-09-07add cargo chef to container build to utilize cachingMax Audron-8/+12
2021-09-07handle CTCP ACTION in sed moduleMax Audron-2/+16
2021-09-07put benchmark behind feature flag we can compile using stable rustMax Audron-7/+17
2021-09-07handle error cases in sed moduleMax Audron-8/+15
2021-06-29add rmr to channels1.3.2Max Audron-1/+1
2021-06-28>.>: add . as eyeMax Audron-1/+1
2021-06-28add lmr to channels1.3.1Max Audron-1/+1
2021-06-23rewrite sed regex to work cross channelMax Audron-115/+141
2021-06-23add required metadata for publishing to macros crateMax Audron-5/+12
2021-06-23add ability to use path and dotted syntax for functionsMax Audron-8/+39
2021-06-21publish macros subcrateMax Audron-20/+20
2021-06-13release version 1.2.1Max Audron-2/+2
2021-06-13fix crash on message only containing whitespaceMax Audron-1/+4
2021-06-11Release version 1.2.01.2.0Max Audron-2/+2
2021-06-06make pet more compactR0flcopt3r/catinator-pet-commandMax Audron-5/+5
2021-06-05feat: adds pet command.R0flcopt3r-0/+90
2021-06-05feat: send actionR0flcopt3r-1/+9
2021-06-05release version 1.1.0Max Audron-2/+2
2021-06-05document proc macrosMax Audron-4/+97
2021-06-05add intensifyMax Audron-3/+27
2021-06-05add privmsg macroMax Audron-2/+40
2021-06-05fix jb remote urlsMax Audron-4/+4
2021-06-05remove egress gateway configMax Audron-10/+0
2021-06-05update tanka dependenciesMax Audron-8/+8
2021-06-05fix init container nameMax Audron-1/+1
2021-06-05fix tanka dependency pathMax Audron-8/+8
2021-06-05switch to https url for tanka util libMax Audron-2/+2
2021-06-05bump version to 1.0.2Max Audron-2/+2
2021-06-05add tanka ci configurationMax Audron-1/+1
2021-06-05ready tanka deploy for CIMax Audron-32/+69
2021-06-05remove tanka vendoringMax Audron-27651/+0
2021-05-26Release 1.0.1Max Audron-3/+3
2021-05-26fix log breaking once buffer fullMax Audron-2/+33
2021-05-16add deployment stuffMax Audron-6/+27786
2021-05-15add container buildMax Audron-2/+35