@@ -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> {
249249pub  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