@@ -1334,31 +1334,25 @@ impl<'a> Parser<'a> {
1334
1334
pub ( super ) fn recover_parens_around_for_head (
1335
1335
& mut self ,
1336
1336
pat : P < Pat > ,
1337
- expr : & Expr ,
1338
1337
begin_paren : Option < Span > ,
1339
1338
) -> P < Pat > {
1340
1339
match ( & self . token . kind , begin_paren) {
1341
1340
( token:: CloseDelim ( token:: Paren ) , Some ( begin_par_sp) ) => {
1342
1341
self . bump ( ) ;
1343
1342
1344
- let pat_str = self
1345
- // Remove the `(` from the span of the pattern:
1346
- . span_to_snippet ( pat. span . trim_start ( begin_par_sp) . unwrap ( ) )
1347
- . unwrap_or_else ( |_| pprust:: pat_to_string ( & pat) ) ;
1348
-
1349
- let sp = MultiSpan :: from_spans ( vec ! [ begin_par_sp, self . prev_token. span] ) ;
1350
-
1351
- self . struct_span_err ( sp, "unexpected parenthesis surrounding `for` loop head" )
1352
- . span_suggestion (
1353
- begin_par_sp. to ( self . prev_token . span ) ,
1354
- "remove parenthesis in `for` loop" ,
1355
- format ! ( "{} in {}" , pat_str, pprust:: expr_to_string( & expr) ) ,
1356
- // With e.g. `for (x) in y)` this would replace `(x) in y)`
1357
- // with `x) in y)` which is syntactically invalid.
1358
- // However, this is prevented before we get here.
1359
- Applicability :: MachineApplicable ,
1360
- )
1361
- . emit ( ) ;
1343
+ self . struct_span_err (
1344
+ MultiSpan :: from_spans ( vec ! [ begin_par_sp, self . prev_token. span] ) ,
1345
+ "unexpected parenthesis surrounding `for` loop head" ,
1346
+ )
1347
+ . multipart_suggestion (
1348
+ "remove parenthesis in `for` loop" ,
1349
+ vec ! [ ( begin_par_sp, String :: new( ) ) , ( self . prev_token. span, String :: new( ) ) ] ,
1350
+ // With e.g. `for (x) in y)` this would replace `(x) in y)`
1351
+ // with `x) in y)` which is syntactically invalid.
1352
+ // However, this is prevented before we get here.
1353
+ Applicability :: MachineApplicable ,
1354
+ )
1355
+ . emit ( ) ;
1362
1356
1363
1357
// Unwrap `(pat)` into `pat` to avoid the `unused_parens` lint.
1364
1358
pat. and_then ( |pat| match pat. kind {
0 commit comments