@@ -233,7 +233,7 @@ impl<'a> ExtCtxt<'a> {
233
233
} ;
234
234
let local = Box :: new ( ast:: Local {
235
235
super_ : None ,
236
- pat,
236
+ pat : Box :: new ( pat ) ,
237
237
ty,
238
238
id : ast:: DUMMY_NODE_ID ,
239
239
kind : LocalKind :: Init ( ex) ,
@@ -249,7 +249,7 @@ impl<'a> ExtCtxt<'a> {
249
249
pub fn stmt_let_type_only ( & self , span : Span , ty : Box < ast:: Ty > ) -> ast:: Stmt {
250
250
let local = Box :: new ( ast:: Local {
251
251
super_ : None ,
252
- pat : self . pat_wild ( span) ,
252
+ pat : Box :: new ( self . pat_wild ( span) ) ,
253
253
ty : Some ( ty) ,
254
254
id : ast:: DUMMY_NODE_ID ,
255
255
kind : LocalKind :: Decl ,
@@ -528,16 +528,16 @@ impl<'a> ExtCtxt<'a> {
528
528
self . expr_match ( sp, head, thin_vec ! [ ok_arm, err_arm] )
529
529
}
530
530
531
- pub fn pat ( & self , span : Span , kind : PatKind ) -> Box < ast:: Pat > {
532
- Box :: new ( ast:: Pat { id : ast:: DUMMY_NODE_ID , kind, span, tokens : None } )
531
+ pub fn pat ( & self , span : Span , kind : PatKind ) -> ast:: Pat {
532
+ ast:: Pat { id : ast:: DUMMY_NODE_ID , kind, span, tokens : None }
533
533
}
534
- pub fn pat_wild ( & self , span : Span ) -> Box < ast:: Pat > {
534
+ pub fn pat_wild ( & self , span : Span ) -> ast:: Pat {
535
535
self . pat ( span, PatKind :: Wild )
536
536
}
537
- pub fn pat_lit ( & self , span : Span , expr : Box < ast:: Expr > ) -> Box < ast:: Pat > {
537
+ pub fn pat_lit ( & self , span : Span , expr : Box < ast:: Expr > ) -> ast:: Pat {
538
538
self . pat ( span, PatKind :: Expr ( expr) )
539
539
}
540
- pub fn pat_ident ( & self , span : Span , ident : Ident ) -> Box < ast:: Pat > {
540
+ pub fn pat_ident ( & self , span : Span , ident : Ident ) -> ast:: Pat {
541
541
self . pat_ident_binding_mode ( span, ident, ast:: BindingMode :: NONE )
542
542
}
543
543
@@ -546,43 +546,43 @@ impl<'a> ExtCtxt<'a> {
546
546
span : Span ,
547
547
ident : Ident ,
548
548
ann : ast:: BindingMode ,
549
- ) -> Box < ast:: Pat > {
549
+ ) -> ast:: Pat {
550
550
let pat = PatKind :: Ident ( ann, ident. with_span_pos ( span) , None ) ;
551
551
self . pat ( span, pat)
552
552
}
553
- pub fn pat_path ( & self , span : Span , path : ast:: Path ) -> Box < ast:: Pat > {
553
+ pub fn pat_path ( & self , span : Span , path : ast:: Path ) -> ast:: Pat {
554
554
self . pat ( span, PatKind :: Path ( None , path) )
555
555
}
556
556
pub fn pat_tuple_struct (
557
557
& self ,
558
558
span : Span ,
559
559
path : ast:: Path ,
560
- subpats : ThinVec < Box < ast:: Pat > > ,
561
- ) -> Box < ast:: Pat > {
560
+ subpats : ThinVec < ast:: Pat > ,
561
+ ) -> ast:: Pat {
562
562
self . pat ( span, PatKind :: TupleStruct ( None , path, subpats) )
563
563
}
564
564
pub fn pat_struct (
565
565
& self ,
566
566
span : Span ,
567
567
path : ast:: Path ,
568
568
field_pats : ThinVec < ast:: PatField > ,
569
- ) -> Box < ast:: Pat > {
569
+ ) -> ast:: Pat {
570
570
self . pat ( span, PatKind :: Struct ( None , path, field_pats, ast:: PatFieldsRest :: None ) )
571
571
}
572
- pub fn pat_tuple ( & self , span : Span , pats : ThinVec < Box < ast:: Pat > > ) -> Box < ast:: Pat > {
572
+ pub fn pat_tuple ( & self , span : Span , pats : ThinVec < ast:: Pat > ) -> ast:: Pat {
573
573
self . pat ( span, PatKind :: Tuple ( pats) )
574
574
}
575
575
576
- pub fn pat_some ( & self , span : Span , pat : Box < ast:: Pat > ) -> Box < ast:: Pat > {
576
+ pub fn pat_some ( & self , span : Span , pat : ast:: Pat ) -> ast:: Pat {
577
577
let some = self . std_path ( & [ sym:: option, sym:: Option , sym:: Some ] ) ;
578
578
let path = self . path_global ( span, some) ;
579
579
self . pat_tuple_struct ( span, path, thin_vec ! [ pat] )
580
580
}
581
581
582
- pub fn arm ( & self , span : Span , pat : Box < ast:: Pat > , expr : Box < ast:: Expr > ) -> ast:: Arm {
582
+ pub fn arm ( & self , span : Span , pat : ast:: Pat , expr : Box < ast:: Expr > ) -> ast:: Arm {
583
583
ast:: Arm {
584
584
attrs : AttrVec :: new ( ) ,
585
- pat,
585
+ pat : Box :: new ( pat ) ,
586
586
guard : None ,
587
587
body : Some ( expr) ,
588
588
span,
@@ -661,11 +661,11 @@ impl<'a> ExtCtxt<'a> {
661
661
}
662
662
663
663
pub fn param ( & self , span : Span , ident : Ident , ty : Box < ast:: Ty > ) -> ast:: Param {
664
- let arg_pat = self . pat_ident ( span, ident) ;
664
+ let pat = Box :: new ( self . pat_ident ( span, ident) ) ;
665
665
ast:: Param {
666
666
attrs : AttrVec :: default ( ) ,
667
667
id : ast:: DUMMY_NODE_ID ,
668
- pat : arg_pat ,
668
+ pat,
669
669
span,
670
670
ty,
671
671
is_placeholder : false ,
0 commit comments