@@ -3640,7 +3640,7 @@ impl<'hir> Item<'hir> {
36403640 ItemKind :: Const ( ty, generics, body) , ( ty, generics, * body) ;
36413641
36423642 expect_fn, ( & FnSig <' hir>, & ' hir Generics <' hir>, BodyId ) ,
3643- ItemKind :: Fn ( sig, generics, body) , ( sig, generics, * body) ;
3643+ ItemKind :: Fn { sig, generics, body } , ( sig, generics, * body) ;
36443644
36453645 expect_macro, ( & ast:: MacroDef , MacroKind ) , ItemKind :: Macro ( def, mk) , ( def, * mk) ;
36463646
@@ -3768,7 +3768,7 @@ pub enum ItemKind<'hir> {
37683768 /// A `const` item.
37693769 Const ( & ' hir Ty < ' hir > , & ' hir Generics < ' hir > , BodyId ) ,
37703770 /// A function declaration.
3771- Fn ( FnSig < ' hir > , & ' hir Generics < ' hir > , BodyId ) ,
3771+ Fn { sig : FnSig < ' hir > , generics : & ' hir Generics < ' hir > , body : BodyId } ,
37723772 /// A MBE macro definition (`macro_rules!` or `macro`).
37733773 Macro ( & ' hir ast:: MacroDef , MacroKind ) ,
37743774 /// A module.
@@ -3819,7 +3819,7 @@ pub struct Impl<'hir> {
38193819impl ItemKind < ' _ > {
38203820 pub fn generics ( & self ) -> Option < & Generics < ' _ > > {
38213821 Some ( match * self {
3822- ItemKind :: Fn ( _ , ref generics, _ )
3822+ ItemKind :: Fn { ref generics, .. }
38233823 | ItemKind :: TyAlias ( _, ref generics)
38243824 | ItemKind :: Const ( _, ref generics, _)
38253825 | ItemKind :: Enum ( _, ref generics)
@@ -3838,7 +3838,7 @@ impl ItemKind<'_> {
38383838 ItemKind :: Use ( ..) => "`use` import" ,
38393839 ItemKind :: Static ( ..) => "static item" ,
38403840 ItemKind :: Const ( ..) => "constant item" ,
3841- ItemKind :: Fn ( .. ) => "function" ,
3841+ ItemKind :: Fn { .. } => "function" ,
38423842 ItemKind :: Macro ( ..) => "macro" ,
38433843 ItemKind :: Mod ( ..) => "module" ,
38443844 ItemKind :: ForeignMod { .. } => "extern block" ,
@@ -4004,7 +4004,7 @@ impl<'hir> OwnerNode<'hir> {
40044004 match self {
40054005 OwnerNode :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
40064006 | OwnerNode :: ImplItem ( ImplItem { kind : ImplItemKind :: Fn ( fn_sig, _) , .. } )
4007- | OwnerNode :: Item ( Item { kind : ItemKind :: Fn ( fn_sig, _ , _ ) , .. } )
4007+ | OwnerNode :: Item ( Item { kind : ItemKind :: Fn { sig : fn_sig, .. } , .. } )
40084008 | OwnerNode :: ForeignItem ( ForeignItem {
40094009 kind : ForeignItemKind :: Fn ( fn_sig, _, _) , ..
40104010 } ) => Some ( fn_sig) ,
@@ -4016,7 +4016,7 @@ impl<'hir> OwnerNode<'hir> {
40164016 match self {
40174017 OwnerNode :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
40184018 | OwnerNode :: ImplItem ( ImplItem { kind : ImplItemKind :: Fn ( fn_sig, _) , .. } )
4019- | OwnerNode :: Item ( Item { kind : ItemKind :: Fn ( fn_sig, _ , _ ) , .. } )
4019+ | OwnerNode :: Item ( Item { kind : ItemKind :: Fn { sig : fn_sig, .. } , .. } )
40204020 | OwnerNode :: ForeignItem ( ForeignItem {
40214021 kind : ForeignItemKind :: Fn ( fn_sig, _, _) , ..
40224022 } ) => Some ( fn_sig. decl ) ,
@@ -4030,7 +4030,7 @@ impl<'hir> OwnerNode<'hir> {
40304030 kind :
40314031 ItemKind :: Static ( _, _, body)
40324032 | ItemKind :: Const ( _, _, body)
4033- | ItemKind :: Fn ( _ , _ , body) ,
4033+ | ItemKind :: Fn { body, .. } ,
40344034 ..
40354035 } )
40364036 | OwnerNode :: TraitItem ( TraitItem {
@@ -4206,7 +4206,7 @@ impl<'hir> Node<'hir> {
42064206 match self {
42074207 Node :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
42084208 | Node :: ImplItem ( ImplItem { kind : ImplItemKind :: Fn ( fn_sig, _) , .. } )
4209- | Node :: Item ( Item { kind : ItemKind :: Fn ( fn_sig, _ , _ ) , .. } )
4209+ | Node :: Item ( Item { kind : ItemKind :: Fn { sig : fn_sig, .. } , .. } )
42104210 | Node :: ForeignItem ( ForeignItem { kind : ForeignItemKind :: Fn ( fn_sig, _, _) , .. } ) => {
42114211 Some ( fn_sig. decl )
42124212 }
@@ -4236,7 +4236,7 @@ impl<'hir> Node<'hir> {
42364236 match self {
42374237 Node :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
42384238 | Node :: ImplItem ( ImplItem { kind : ImplItemKind :: Fn ( fn_sig, _) , .. } )
4239- | Node :: Item ( Item { kind : ItemKind :: Fn ( fn_sig, _ , _ ) , .. } )
4239+ | Node :: Item ( Item { kind : ItemKind :: Fn { sig : fn_sig, .. } , .. } )
42404240 | Node :: ForeignItem ( ForeignItem { kind : ForeignItemKind :: Fn ( fn_sig, _, _) , .. } ) => {
42414241 Some ( fn_sig)
42424242 }
@@ -4281,7 +4281,7 @@ impl<'hir> Node<'hir> {
42814281 Node :: Item ( Item {
42824282 owner_id,
42834283 kind :
4284- ItemKind :: Const ( _, _, body) | ItemKind :: Static ( .., body) | ItemKind :: Fn ( .. , body ) ,
4284+ ItemKind :: Const ( _, _, body) | ItemKind :: Static ( .., body) | ItemKind :: Fn { body , .. } ,
42854285 ..
42864286 } )
42874287 | Node :: TraitItem ( TraitItem {
@@ -4338,7 +4338,7 @@ impl<'hir> Node<'hir> {
43384338 pub fn fn_kind ( self ) -> Option < FnKind < ' hir > > {
43394339 match self {
43404340 Node :: Item ( i) => match i. kind {
4341- ItemKind :: Fn ( ref sig, ref generics, _ ) => {
4341+ ItemKind :: Fn { sig, generics, .. } => {
43424342 Some ( FnKind :: ItemFn ( i. ident , generics, sig. header ) )
43434343 }
43444344 _ => None ,
0 commit comments