File tree 1 file changed +7
-4
lines changed
1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change 1
1
use crate :: ast:: Field ;
2
2
use crate :: attr:: { Display , Trait } ;
3
+ use crate :: scan_expr:: scan_expr;
3
4
use proc_macro2:: TokenTree ;
4
5
use quote:: { format_ident, quote_spanned} ;
5
6
use std:: collections:: { BTreeSet as Set , HashMap as Map } ;
@@ -121,14 +122,16 @@ fn explicit_named_args(input: ParseStream) -> Result<Set<Ident>> {
121
122
let mut named_args = Set :: new ( ) ;
122
123
123
124
while !input. is_empty ( ) {
124
- if input. peek ( Token ! [ , ] ) && input. peek2 ( Ident :: peek_any) && input. peek3 ( Token ! [ =] ) {
125
- input. parse :: < Token ! [ , ] > ( ) ?;
125
+ input. parse :: < Token ! [ , ] > ( ) ?;
126
+ if input. is_empty ( ) {
127
+ break ;
128
+ }
129
+ if input. peek ( Ident :: peek_any) && input. peek2 ( Token ! [ =] ) && !input. peek2 ( Token ! [ ==] ) {
126
130
let ident = input. call ( Ident :: parse_any) ?;
127
131
input. parse :: < Token ! [ =] > ( ) ?;
128
132
named_args. insert ( ident) ;
129
- } else {
130
- input. parse :: < TokenTree > ( ) ?;
131
133
}
134
+ scan_expr ( input) ?;
132
135
}
133
136
134
137
Ok ( named_args)
You can’t perform that action at this time.
0 commit comments