@@ -265,7 +265,7 @@ impl<'a> VariantInfo<'a> {
265265 ) -> Result < VariantInfo < ' a > , syn:: Error > {
266266 let variant_attrs = VariantAttrs :: from_attributes ( attrs) ?;
267267 let display = get_doc_or_display ( & attrs) ?;
268- // TODO: enable this but only for #[display] not for doc commments
268+ // TODO: enable this but only for #[display] not for doc comments
269269 // if display.is_some() && variant_attrs.transparent {
270270 // return Err(err(
271271 // ident,
@@ -460,7 +460,7 @@ fn generate_enum_impls(
460460
461461 let match_std_source_arms = variants. iter ( ) . map ( |vi| match & vi. source {
462462 Some ( src) => {
463- let bind = syn:: Ident :: new ( "__src " , Span :: call_site ( ) ) ;
463+ let bind = syn:: Ident :: new ( "source " , Span :: call_site ( ) ) ;
464464 let pat = vi. spread_field ( & src. field , & bind) ;
465465 let expr = src. expr_error_std ( & bind) ;
466466 quote ! { #pat => #expr, }
@@ -477,39 +477,29 @@ fn generate_enum_impls(
477477 quote ! { #pat => #value }
478478 } ) ;
479479
480- let match_fmt_message_arms = variants. iter ( ) . map ( |vi| {
481- let v_ident = & vi. ident ;
482- // if vi.transparent().is_some() {
483- // let pat = vi.spread_empty();
484- // quote! { #pat => ::n0_error::StackError::source(self).unwrap().fmt_message(f) }
485- // } else {
486- match & vi. display {
487- Some ( expr) => {
488- let binds: Vec < Ident > = vi. field_binding_idents ( ) . collect ( ) ;
489- let pat = vi. spread_all ( & binds) ;
490- quote ! { #pat => { #expr } }
491- }
492- None => {
493- let text = format ! ( "{}::{}" , enum_ident, v_ident) ;
494- let pat = vi. spread_empty ( ) ;
495- quote ! { #pat => write!( f, #text) }
496- }
480+ let match_fmt_message_arms = variants. iter ( ) . map ( |vi| match & vi. display {
481+ Some ( expr) => {
482+ let binds: Vec < Ident > = vi. field_binding_idents ( ) . collect ( ) ;
483+ let pat = vi. spread_all ( & binds) ;
484+ quote ! { #pat => { #expr } }
485+ }
486+ None => {
487+ let text = format ! ( "{}::{}" , enum_ident, vi. ident) ;
488+ let pat = vi. spread_empty ( ) ;
489+ quote ! { #pat => write!( f, #text) }
497490 }
498- // }
499491 } ) ;
500492
501493 let match_debug_arms = variants. iter ( ) . map ( |vi| {
502- let v_ident = & vi. ident ;
503- let v_name = v_ident. to_string ( ) ;
494+ let v_name = vi. ident . to_string ( ) ;
504495 let binds: Vec < Ident > = vi. field_binding_idents ( ) . collect ( ) ;
505496 let pat = vi. spread_all ( & binds) ;
506497 let labels: Vec < String > = vi
507498 . fields
508499 . iter ( )
509- . enumerate ( )
510- . map ( |( i, f) | match f. ident {
500+ . map ( |f| match f. ident {
511501 FieldIdent :: Named ( id) => id. to_string ( ) ,
512- FieldIdent :: Unnamed ( _ ) => i. to_string ( ) ,
502+ FieldIdent :: Unnamed ( i ) => i. to_string ( ) ,
513503 } )
514504 . collect ( ) ;
515505 quote ! {
@@ -520,7 +510,7 @@ fn generate_enum_impls(
520510 }
521511 } ) ;
522512
523- // From impls for variants marked with #[from]
513+ // From impls for variant fields marked with #[from]
524514 let ( impl_generics, ty_generics, where_clause) = generics. split_for_impl ( ) ;
525515 let from_impls = variants. iter ( ) . filter_map ( |vi| vi. from . as_ref ( ) . map ( |field| ( vi, field) ) ) . map ( |( vi, field) | {
526516 let v_ident = & vi. ident ;
@@ -677,7 +667,7 @@ fn generate_struct_impl(
677667
678668 let get_error_source = match & info. source {
679669 Some ( src) => {
680- let bind = syn:: Ident :: new ( "__src " , Span :: call_site ( ) ) ;
670+ let bind = syn:: Ident :: new ( "source " , Span :: call_site ( ) ) ;
681671 let getter = match src. field . ident {
682672 FieldIdent :: Named ( id) => quote ! { let #bind = & self . #id; } ,
683673 FieldIdent :: Unnamed ( i) => {
@@ -749,10 +739,20 @@ fn generate_struct_impl(
749739 . collect ( ) ;
750740 match info. kind {
751741 Kind :: Named => {
752- quote ! { let Self { #( #binds ) , * } = self ; let mut dbg = f. debug_struct( #item_name) ; #( dbg. field( #labels, & #binds) ; ) * ; dbg. finish( ) ?; }
742+ quote ! {
743+ let Self { #( #binds ) , * } = self ;
744+ let mut dbg = f. debug_struct( #item_name) ;
745+ #( dbg. field( #labels, & #binds) ; ) * ;
746+ dbg. finish( ) ?;
747+ }
753748 }
754749 Kind :: Tuple => {
755- quote ! { let Self ( #( #binds ) , * ) = self ; let mut dbg = f. debug_struct( #item_name) ; #( dbg. field( #labels, & #binds) ; ) * ; dbg. finish( ) ?; }
750+ quote ! {
751+ let Self ( #( #binds ) , * ) = self ;
752+ let mut dbg = f. debug_struct( #item_name) ;
753+ #( dbg. field( #labels, & #binds) ; ) * ;
754+ dbg. finish( ) ?;
755+ }
756756 }
757757 }
758758 } ;
0 commit comments