@@ -15,8 +15,8 @@ use rustc_ast::visit::{Visitor, walk_expr};
1515use rustc_ast:: {
1616 self as ast, AnonConst , Arm , AssignOp , AssignOpKind , AttrStyle , AttrVec , BinOp , BinOpKind ,
1717 BlockCheckMode , CaptureBy , ClosureBinder , DUMMY_NODE_ID , Expr , ExprField , ExprKind , FnDecl ,
18- FnRetTy , Guard , Label , MacCall , MetaItemLit , Movability , Param , RangeLimits , StmtKind , Ty ,
19- TyKind , UnOp , UnsafeBinderCastKind , YieldKind ,
18+ FnRetTy , ForLoop , Guard , Label , MacCall , MetaItemLit , Movability , Param , RangeLimits , StmtKind ,
19+ Ty , TyKind , UnOp , UnsafeBinderCastKind , YieldKind ,
2020} ;
2121use rustc_ast_pretty:: pprust;
2222use rustc_data_structures:: stack:: ensure_sufficient_stack;
@@ -1950,7 +1950,7 @@ impl<'a> Parser<'a> {
19501950 if label. is_some ( )
19511951 && match & expr. kind {
19521952 ExprKind :: While ( _, _, None )
1953- | ExprKind :: ForLoop { label : None , .. }
1953+ | ExprKind :: ForLoop ( ForLoop { label : None , .. } )
19541954 | ExprKind :: Loop ( _, None , _) => true ,
19551955 ExprKind :: Block ( block, None ) => {
19561956 matches ! ( block. rules, BlockCheckMode :: Default )
@@ -3048,7 +3048,13 @@ impl<'a> Parser<'a> {
30483048 let block = self . mk_block ( thin_vec ! [ ] , BlockCheckMode :: Default , self . prev_token . span ) ;
30493049 return Ok ( self . mk_expr (
30503050 lo. to ( self . prev_token . span ) ,
3051- ExprKind :: ForLoop { pat, iter : err_expr, body : block, label : opt_label, kind } ,
3051+ ExprKind :: ForLoop ( Box :: new ( ForLoop {
3052+ pat,
3053+ iter : err_expr,
3054+ body : block,
3055+ label : opt_label,
3056+ kind,
3057+ } ) ) ,
30523058 ) ) ;
30533059 }
30543060
@@ -3058,7 +3064,13 @@ impl<'a> Parser<'a> {
30583064 opt_label. is_none ( ) . then_some ( lo) ,
30593065 ) ?;
30603066
3061- let kind = ExprKind :: ForLoop { pat, iter : expr, body : loop_block, label : opt_label, kind } ;
3067+ let kind = ExprKind :: ForLoop ( Box :: new ( ForLoop {
3068+ pat,
3069+ iter : expr,
3070+ body : loop_block,
3071+ label : opt_label,
3072+ kind,
3073+ } ) ) ;
30623074
30633075 self . recover_loop_else ( "for" , lo) ?;
30643076
0 commit comments