@@ -233,7 +233,7 @@ impl<'a> ExtCtxt<'a> {
233233 } ;
234234 let local = Box :: new ( ast:: Local {
235235 super_ : None ,
236- pat,
236+ pat : Box :: new ( pat ) ,
237237 ty,
238238 id : ast:: DUMMY_NODE_ID ,
239239 kind : LocalKind :: Init ( ex) ,
@@ -249,7 +249,7 @@ impl<'a> ExtCtxt<'a> {
249249 pub fn stmt_let_type_only ( & self , span : Span , ty : Box < ast:: Ty > ) -> ast:: Stmt {
250250 let local = Box :: new ( ast:: Local {
251251 super_ : None ,
252- pat : self . pat_wild ( span) ,
252+ pat : Box :: new ( self . pat_wild ( span) ) ,
253253 ty : Some ( ty) ,
254254 id : ast:: DUMMY_NODE_ID ,
255255 kind : LocalKind :: Decl ,
@@ -528,16 +528,16 @@ impl<'a> ExtCtxt<'a> {
528528 self . expr_match ( sp, head, thin_vec ! [ ok_arm, err_arm] )
529529 }
530530
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 }
533533 }
534- pub fn pat_wild ( & self , span : Span ) -> Box < ast:: Pat > {
534+ pub fn pat_wild ( & self , span : Span ) -> ast:: Pat {
535535 self . pat ( span, PatKind :: Wild )
536536 }
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 {
538538 self . pat ( span, PatKind :: Expr ( expr) )
539539 }
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 {
541541 self . pat_ident_binding_mode ( span, ident, ast:: BindingMode :: NONE )
542542 }
543543
@@ -546,43 +546,43 @@ impl<'a> ExtCtxt<'a> {
546546 span : Span ,
547547 ident : Ident ,
548548 ann : ast:: BindingMode ,
549- ) -> Box < ast:: Pat > {
549+ ) -> ast:: Pat {
550550 let pat = PatKind :: Ident ( ann, ident. with_span_pos ( span) , None ) ;
551551 self . pat ( span, pat)
552552 }
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 {
554554 self . pat ( span, PatKind :: Path ( None , path) )
555555 }
556556 pub fn pat_tuple_struct (
557557 & self ,
558558 span : Span ,
559559 path : ast:: Path ,
560- subpats : ThinVec < Box < ast:: Pat > > ,
561- ) -> Box < ast:: Pat > {
560+ subpats : ThinVec < ast:: Pat > ,
561+ ) -> ast:: Pat {
562562 self . pat ( span, PatKind :: TupleStruct ( None , path, subpats) )
563563 }
564564 pub fn pat_struct (
565565 & self ,
566566 span : Span ,
567567 path : ast:: Path ,
568568 field_pats : ThinVec < ast:: PatField > ,
569- ) -> Box < ast:: Pat > {
569+ ) -> ast:: Pat {
570570 self . pat ( span, PatKind :: Struct ( None , path, field_pats, ast:: PatFieldsRest :: None ) )
571571 }
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 {
573573 self . pat ( span, PatKind :: Tuple ( pats) )
574574 }
575575
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 {
577577 let some = self . std_path ( & [ sym:: option, sym:: Option , sym:: Some ] ) ;
578578 let path = self . path_global ( span, some) ;
579579 self . pat_tuple_struct ( span, path, thin_vec ! [ pat] )
580580 }
581581
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 {
583583 ast:: Arm {
584584 attrs : AttrVec :: new ( ) ,
585- pat,
585+ pat : Box :: new ( pat ) ,
586586 guard : None ,
587587 body : Some ( expr) ,
588588 span,
@@ -661,11 +661,11 @@ impl<'a> ExtCtxt<'a> {
661661 }
662662
663663 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) ) ;
665665 ast:: Param {
666666 attrs : AttrVec :: default ( ) ,
667667 id : ast:: DUMMY_NODE_ID ,
668- pat : arg_pat ,
668+ pat,
669669 span,
670670 ty,
671671 is_placeholder : false ,
0 commit comments