File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed
Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -331,11 +331,12 @@ mod parsing {
331331
332332 // A single variant of an ast_enum_of_structs!
333333 struct EosVariant {
334+ attrs : Vec < Attribute > ,
334335 name : Ident ,
335336 member : Option < Path > ,
336337 }
337338 fn eos_variant ( input : ParseStream ) -> Result < EosVariant > {
338- input. call ( Attribute :: parse_outer) ?;
339+ let attrs = input. call ( Attribute :: parse_outer) ?;
339340 let variant: Ident = input. parse ( ) ?;
340341 let member = if input. peek ( token:: Paren ) {
341342 let content;
@@ -347,6 +348,7 @@ mod parsing {
347348 } ;
348349 input. parse :: < Token ! [ , ] > ( ) ?;
349350 Ok ( EosVariant {
351+ attrs,
350352 name : variant,
351353 member,
352354 } )
@@ -371,10 +373,11 @@ mod parsing {
371373
372374 let enum_item = {
373375 let variants = variants. iter ( ) . map ( |v| {
374- let name = v. name . clone ( ) ;
376+ let attrs = & v. attrs ;
377+ let name = & v. name ;
375378 match v. member {
376- Some ( ref member) => quote ! ( #name( #member) ) ,
377- None => quote ! ( #name) ,
379+ Some ( ref member) => quote ! ( #( #attrs ) * # name( #member) ) ,
380+ None => quote ! ( #( #attrs ) * # name) ,
378381 }
379382 } ) ;
380383 parse_quote ! {
You can’t perform that action at this time.
0 commit comments