@@ -3640,7 +3640,7 @@ impl<'hir> Item<'hir> {
3640
3640
ItemKind :: Const ( ty, generics, body) , ( ty, generics, * body) ;
3641
3641
3642
3642
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) ;
3644
3644
3645
3645
expect_macro, ( & ast:: MacroDef , MacroKind ) , ItemKind :: Macro ( def, mk) , ( def, * mk) ;
3646
3646
@@ -3768,7 +3768,7 @@ pub enum ItemKind<'hir> {
3768
3768
/// A `const` item.
3769
3769
Const ( & ' hir Ty < ' hir > , & ' hir Generics < ' hir > , BodyId ) ,
3770
3770
/// A function declaration.
3771
- Fn ( FnSig < ' hir > , & ' hir Generics < ' hir > , BodyId ) ,
3771
+ Fn { sig : FnSig < ' hir > , generics : & ' hir Generics < ' hir > , body : BodyId } ,
3772
3772
/// A MBE macro definition (`macro_rules!` or `macro`).
3773
3773
Macro ( & ' hir ast:: MacroDef , MacroKind ) ,
3774
3774
/// A module.
@@ -3819,7 +3819,7 @@ pub struct Impl<'hir> {
3819
3819
impl ItemKind < ' _ > {
3820
3820
pub fn generics ( & self ) -> Option < & Generics < ' _ > > {
3821
3821
Some ( match * self {
3822
- ItemKind :: Fn ( _ , ref generics, _ )
3822
+ ItemKind :: Fn { ref generics, .. }
3823
3823
| ItemKind :: TyAlias ( _, ref generics)
3824
3824
| ItemKind :: Const ( _, ref generics, _)
3825
3825
| ItemKind :: Enum ( _, ref generics)
@@ -3838,7 +3838,7 @@ impl ItemKind<'_> {
3838
3838
ItemKind :: Use ( ..) => "`use` import" ,
3839
3839
ItemKind :: Static ( ..) => "static item" ,
3840
3840
ItemKind :: Const ( ..) => "constant item" ,
3841
- ItemKind :: Fn ( .. ) => "function" ,
3841
+ ItemKind :: Fn { .. } => "function" ,
3842
3842
ItemKind :: Macro ( ..) => "macro" ,
3843
3843
ItemKind :: Mod ( ..) => "module" ,
3844
3844
ItemKind :: ForeignMod { .. } => "extern block" ,
@@ -4004,7 +4004,7 @@ impl<'hir> OwnerNode<'hir> {
4004
4004
match self {
4005
4005
OwnerNode :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
4006
4006
| 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, .. } , .. } )
4008
4008
| OwnerNode :: ForeignItem ( ForeignItem {
4009
4009
kind : ForeignItemKind :: Fn ( fn_sig, _, _) , ..
4010
4010
} ) => Some ( fn_sig) ,
@@ -4016,7 +4016,7 @@ impl<'hir> OwnerNode<'hir> {
4016
4016
match self {
4017
4017
OwnerNode :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
4018
4018
| 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, .. } , .. } )
4020
4020
| OwnerNode :: ForeignItem ( ForeignItem {
4021
4021
kind : ForeignItemKind :: Fn ( fn_sig, _, _) , ..
4022
4022
} ) => Some ( fn_sig. decl ) ,
@@ -4030,7 +4030,7 @@ impl<'hir> OwnerNode<'hir> {
4030
4030
kind :
4031
4031
ItemKind :: Static ( _, _, body)
4032
4032
| ItemKind :: Const ( _, _, body)
4033
- | ItemKind :: Fn ( _ , _ , body) ,
4033
+ | ItemKind :: Fn { body, .. } ,
4034
4034
..
4035
4035
} )
4036
4036
| OwnerNode :: TraitItem ( TraitItem {
@@ -4206,7 +4206,7 @@ impl<'hir> Node<'hir> {
4206
4206
match self {
4207
4207
Node :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
4208
4208
| 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, .. } , .. } )
4210
4210
| Node :: ForeignItem ( ForeignItem { kind : ForeignItemKind :: Fn ( fn_sig, _, _) , .. } ) => {
4211
4211
Some ( fn_sig. decl )
4212
4212
}
@@ -4236,7 +4236,7 @@ impl<'hir> Node<'hir> {
4236
4236
match self {
4237
4237
Node :: TraitItem ( TraitItem { kind : TraitItemKind :: Fn ( fn_sig, _) , .. } )
4238
4238
| 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, .. } , .. } )
4240
4240
| Node :: ForeignItem ( ForeignItem { kind : ForeignItemKind :: Fn ( fn_sig, _, _) , .. } ) => {
4241
4241
Some ( fn_sig)
4242
4242
}
@@ -4281,7 +4281,7 @@ impl<'hir> Node<'hir> {
4281
4281
Node :: Item ( Item {
4282
4282
owner_id,
4283
4283
kind :
4284
- ItemKind :: Const ( _, _, body) | ItemKind :: Static ( .., body) | ItemKind :: Fn ( .. , body ) ,
4284
+ ItemKind :: Const ( _, _, body) | ItemKind :: Static ( .., body) | ItemKind :: Fn { body , .. } ,
4285
4285
..
4286
4286
} )
4287
4287
| Node :: TraitItem ( TraitItem {
@@ -4338,7 +4338,7 @@ impl<'hir> Node<'hir> {
4338
4338
pub fn fn_kind ( self ) -> Option < FnKind < ' hir > > {
4339
4339
match self {
4340
4340
Node :: Item ( i) => match i. kind {
4341
- ItemKind :: Fn ( ref sig, ref generics, _ ) => {
4341
+ ItemKind :: Fn { sig, generics, .. } => {
4342
4342
Some ( FnKind :: ItemFn ( i. ident , generics, sig. header ) )
4343
4343
}
4344
4344
_ => None ,
0 commit comments