@@ -65,7 +65,7 @@ impl BoundKind {
6565#[ derive( Copy , Clone , Debug ) ]
6666pub enum FnKind < ' a > {
6767 /// E.g., `fn foo()`, `fn foo(&self)`, or `extern "Abi" fn foo()`.
68- Fn ( FnCtxt , & ' a Ident , & ' a FnSig , & ' a Visibility , & ' a Generics , & ' a Option < P < Block > > ) ,
68+ Fn ( FnCtxt , & ' a Ident , & ' a Visibility , & ' a Fn ) ,
6969
7070 /// E.g., `|x, y| body`.
7171 Closure ( & ' a ClosureBinder , & ' a Option < CoroutineKind > , & ' a FnDecl , & ' a Expr ) ,
@@ -74,7 +74,7 @@ pub enum FnKind<'a> {
7474impl < ' a > FnKind < ' a > {
7575 pub fn header ( & self ) -> Option < & ' a FnHeader > {
7676 match * self {
77- FnKind :: Fn ( _, _, sig , _, _ , _ ) => Some ( & sig. header ) ,
77+ FnKind :: Fn ( _, _, _, Fn { sig , .. } ) => Some ( & sig. header ) ,
7878 FnKind :: Closure ( ..) => None ,
7979 }
8080 }
@@ -88,7 +88,7 @@ impl<'a> FnKind<'a> {
8888
8989 pub fn decl ( & self ) -> & ' a FnDecl {
9090 match self {
91- FnKind :: Fn ( _, _, sig , _, _ , _ ) => & sig. decl ,
91+ FnKind :: Fn ( _, _, _, Fn { sig , .. } ) => & sig. decl ,
9292 FnKind :: Closure ( _, _, decl, _) => decl,
9393 }
9494 }
@@ -374,8 +374,8 @@ impl WalkItemKind for ItemKind {
374374 try_visit ! ( visitor. visit_ty( ty) ) ;
375375 visit_opt ! ( visitor, visit_expr, expr) ;
376376 }
377- ItemKind :: Fn ( box Fn { defaultness : _ , generics , sig , body } ) => {
378- let kind = FnKind :: Fn ( FnCtxt :: Free , ident, sig , vis, generics , body ) ;
377+ ItemKind :: Fn ( func ) => {
378+ let kind = FnKind :: Fn ( FnCtxt :: Free , ident, vis, & * func ) ;
379379 try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
380380 }
381381 ItemKind :: Mod ( _unsafety, mod_kind) => match mod_kind {
@@ -715,8 +715,8 @@ impl WalkItemKind for ForeignItemKind {
715715 try_visit ! ( visitor. visit_ty( ty) ) ;
716716 visit_opt ! ( visitor, visit_expr, expr) ;
717717 }
718- ForeignItemKind :: Fn ( box Fn { defaultness : _ , generics , sig , body } ) => {
719- let kind = FnKind :: Fn ( FnCtxt :: Foreign , ident, sig , vis, generics , body ) ;
718+ ForeignItemKind :: Fn ( func ) => {
719+ let kind = FnKind :: Fn ( FnCtxt :: Foreign , ident, vis, & * func ) ;
720720 try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
721721 }
722722 ForeignItemKind :: TyAlias ( box TyAlias {
@@ -858,7 +858,12 @@ pub fn walk_fn_decl<'a, V: Visitor<'a>>(
858858
859859pub fn walk_fn < ' a , V : Visitor < ' a > > ( visitor : & mut V , kind : FnKind < ' a > ) -> V :: Result {
860860 match kind {
861- FnKind :: Fn ( _ctxt, _ident, FnSig { header, decl, span : _ } , _vis, generics, body) => {
861+ FnKind :: Fn (
862+ _ctxt,
863+ _ident,
864+ _vis,
865+ Fn { defaultness : _, sig : FnSig { header, decl, span : _ } , generics, body } ,
866+ ) => {
862867 // Identifier and visibility are visited as a part of the item.
863868 try_visit ! ( visitor. visit_fn_header( header) ) ;
864869 try_visit ! ( visitor. visit_generics( generics) ) ;
@@ -892,8 +897,8 @@ impl WalkItemKind for AssocItemKind {
892897 try_visit ! ( visitor. visit_ty( ty) ) ;
893898 visit_opt ! ( visitor, visit_expr, expr) ;
894899 }
895- AssocItemKind :: Fn ( box Fn { defaultness : _ , generics , sig , body } ) => {
896- let kind = FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig , vis, generics , body ) ;
900+ AssocItemKind :: Fn ( func ) => {
901+ let kind = FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, vis, & * func ) ;
897902 try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
898903 }
899904 AssocItemKind :: Type ( box TyAlias {
0 commit comments