@@ -287,7 +287,7 @@ impl<'a> Parser<'a> {
287
287
let mut recovered_ident = None ;
288
288
// we take this here so that the correct original token is retained in
289
289
// the diagnostic, regardless of eager recovery.
290
- let bad_token = self . token . clone ( ) ;
290
+ let bad_token = self . token ;
291
291
292
292
// suggest prepending a keyword in identifier position with `r#`
293
293
let suggest_raw = if let Some ( ( ident, IdentIsRaw :: No ) ) = self . token . ident ( )
@@ -347,7 +347,7 @@ impl<'a> Parser<'a> {
347
347
// if the previous token is a valid keyword
348
348
// that might use a generic, then suggest a correct
349
349
// generic placement (later on)
350
- let maybe_keyword = self . prev_token . clone ( ) ;
350
+ let maybe_keyword = self . prev_token ;
351
351
if valid_prev_keywords. into_iter ( ) . any ( |x| maybe_keyword. is_keyword ( x) ) {
352
352
// if we have a valid keyword, attempt to parse generics
353
353
// also obtain the keywords symbol
@@ -463,7 +463,7 @@ impl<'a> Parser<'a> {
463
463
false
464
464
}
465
465
466
- if * * token != parser:: TokenType :: Token ( self . token . kind . clone ( ) ) {
466
+ if * * token != parser:: TokenType :: Token ( self . token . kind ) {
467
467
let eq = is_ident_eq_keyword ( & self . token . kind , & token) ;
468
468
// If the suggestion is a keyword and the found token is an ident,
469
469
// the content of which are equal to the suggestion's content,
@@ -527,7 +527,7 @@ impl<'a> Parser<'a> {
527
527
// let y = 42;
528
528
let guar = self . dcx ( ) . emit_err ( ExpectedSemi {
529
529
span : self . token . span ,
530
- token : self . token . clone ( ) ,
530
+ token : self . token ,
531
531
unexpected_token_label : None ,
532
532
sugg : ExpectedSemiSugg :: ChangeToSemi ( self . token . span ) ,
533
533
} ) ;
@@ -552,7 +552,7 @@ impl<'a> Parser<'a> {
552
552
let span = self . prev_token . span . shrink_to_hi ( ) ;
553
553
let guar = self . dcx ( ) . emit_err ( ExpectedSemi {
554
554
span,
555
- token : self . token . clone ( ) ,
555
+ token : self . token ,
556
556
unexpected_token_label : Some ( self . token . span ) ,
557
557
sugg : ExpectedSemiSugg :: AddSemi ( span) ,
558
558
} ) ;
@@ -748,7 +748,7 @@ impl<'a> Parser<'a> {
748
748
let span = self . prev_token . span . shrink_to_hi ( ) ;
749
749
let mut err = self . dcx ( ) . create_err ( ExpectedSemi {
750
750
span,
751
- token : self . token . clone ( ) ,
751
+ token : self . token ,
752
752
unexpected_token_label : Some ( self . token . span ) ,
753
753
sugg : ExpectedSemiSugg :: AddSemi ( span) ,
754
754
} ) ;
@@ -2371,7 +2371,7 @@ impl<'a> Parser<'a> {
2371
2371
// code was interpreted. This helps the user realize when a macro argument of one type is
2372
2372
// later reinterpreted as a different type, like `$x:expr` being reinterpreted as `$x:pat`
2373
2373
// in a subsequent macro invocation (#71039).
2374
- let mut tok = self.token.clone() ;
2374
+ let mut tok = self.token;
2375
2375
let mut labels = vec![];
2376
2376
while let TokenKind::Interpolated(nt) = &tok.kind {
2377
2377
let tokens = nt.tokens();
@@ -2381,7 +2381,7 @@ impl<'a> Parser<'a> {
2381
2381
&& let tokens = tokens.0.deref()
2382
2382
&& let [AttrTokenTree::Token(token, _)] = &tokens[..]
2383
2383
{
2384
- tok = token.clone() ;
2384
+ tok = token;
2385
2385
} else {
2386
2386
break;
2387
2387
}
0 commit comments