@@ -241,7 +241,7 @@ pub fn parse(
241
241
/// - `sess`: the parsing session. Any errors will be emitted to this session.
242
242
fn parse_tree < I > (
243
243
tree : tokenstream:: TokenTree ,
244
- trees : & mut I ,
244
+ trees : & mut Peekable < I > ,
245
245
expect_matchers : bool ,
246
246
sess : & ParseSess ,
247
247
) -> TokenTree
@@ -339,15 +339,21 @@ fn kleene_op(token: &token::Token) -> Option<KleeneOp> {
339
339
/// - Ok(Ok(op)) if the next token tree is a KleeneOp
340
340
/// - Ok(Err(tok, span)) if the next token tree is a token but not a KleeneOp
341
341
/// - Err(span) if the next token tree is not a token
342
- fn parse_kleene_op < I > ( input : & mut I , span : Span ) -> Result < Result < KleeneOp , ( token:: Token , Span ) > , Span >
343
- where I : Iterator < Item = tokenstream:: TokenTree > ,
342
+ fn parse_kleene_op < I > (
343
+ input : & mut I ,
344
+ span : Span ,
345
+ ) -> Result < Result < KleeneOp , ( token:: Token , Span ) > , Span >
346
+ where
347
+ I : Iterator < Item = tokenstream:: TokenTree > ,
344
348
{
345
349
match input. next ( ) {
346
350
Some ( tokenstream:: TokenTree :: Token ( span, tok) ) => match kleene_op ( & tok) {
347
351
Some ( op) => Ok ( Ok ( op) ) ,
348
352
None => Ok ( Err ( ( tok, span) ) ) ,
349
- }
350
- tree => Err ( tree. as_ref ( ) . map ( tokenstream:: TokenTree :: span) . unwrap_or ( span) ) ,
353
+ } ,
354
+ tree => Err ( tree. as_ref ( )
355
+ . map ( tokenstream:: TokenTree :: span)
356
+ . unwrap_or ( span) ) ,
351
357
}
352
358
}
353
359
@@ -363,9 +369,13 @@ fn parse_kleene_op<I>(input: &mut I, span: Span) -> Result<Result<KleeneOp, (tok
363
369
/// session `sess`. If the next one (or possibly two) tokens in `input` correspond to a Kleene
364
370
/// operator and separator, then a tuple with `(separator, KleeneOp)` is returned. Otherwise, an
365
371
/// error with the appropriate span is emitted to `sess` and a dummy value is returned.
366
- fn parse_sep_and_kleene_op < I > ( input : & mut Peekable < I > , span : Span , sess : & ParseSess )
367
- -> ( Option < token:: Token > , KleeneOp )
368
- where I : Iterator < Item = tokenstream:: TokenTree > ,
372
+ fn parse_sep_and_kleene_op < I > (
373
+ input : & mut Peekable < I > ,
374
+ span : Span ,
375
+ sess : & ParseSess ,
376
+ ) -> ( Option < token:: Token > , KleeneOp )
377
+ where
378
+ I : Iterator < Item = tokenstream:: TokenTree > ,
369
379
{
370
380
// We basically look at two token trees here, denoted as #1 and #2 below
371
381
let span = match parse_kleene_op ( input, span) {
@@ -415,12 +425,13 @@ fn parse_sep_and_kleene_op<I>(input: &mut Peekable<I>, span: Span, sess: &ParseS
415
425
416
426
// #2 is not a token at all :(
417
427
Err ( span) => span,
418
- }
428
+ } ,
419
429
420
430
// #1 is not a token
421
431
Err ( span) => span,
422
432
} ;
423
433
424
- sess. span_diagnostic . span_err ( span, "expected one of: `*`, `+`, or `?`" ) ;
434
+ sess. span_diagnostic
435
+ . span_err ( span, "expected one of: `*`, `+`, or `?`" ) ;
425
436
( None , KleeneOp :: ZeroOrMore )
426
437
}
0 commit comments