@@ -6,7 +6,7 @@ use rustc_errors::{E0570, ErrorGuaranteed, struct_span_code_err};
6
6
use rustc_hir:: attrs:: AttributeKind ;
7
7
use rustc_hir:: def:: { DefKind , PerNS , Res } ;
8
8
use rustc_hir:: def_id:: { CRATE_DEF_ID , LocalDefId } ;
9
- use rustc_hir:: { self as hir, HirId , LifetimeSource , PredicateOrigin , Target , find_attr, MethodKind } ;
9
+ use rustc_hir:: { self as hir, HirId , LifetimeSource , PredicateOrigin , Target , find_attr} ;
10
10
use rustc_index:: { IndexSlice , IndexVec } ;
11
11
use rustc_middle:: span_bug;
12
12
use rustc_middle:: ty:: { ResolverAstLowering , TyCtxt } ;
@@ -822,8 +822,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
822
822
823
823
fn lower_trait_item ( & mut self , i : & AssocItem ) -> & ' hir hir:: TraitItem < ' hir > {
824
824
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
825
- Target :: from_trait_item ( & i. kind ) //TODO
826
- let attrs = self . lower_attrs ( hir_id, & i. attrs , i. span , Target :: Trait ) ;
825
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i. span , Target :: from_assoc_item_kind ( & i. kind , false ) ) ;
827
826
let trait_item_def_id = hir_id. expect_owner ( ) ;
828
827
829
828
let ( ident, generics, kind, has_default) = match & i. kind {
@@ -994,18 +993,8 @@ impl<'hir> LoweringContext<'_, 'hir> {
994
993
let has_value = true ;
995
994
let ( defaultness, _) = self . lower_defaultness ( i. kind . defaultness ( ) , has_value) ;
996
995
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
997
- let target = match i. kind {
998
- AssocItemKind :: Const ( _) => Target :: AssocConst ,
999
- AssocItemKind :: Fn ( _) => Target :: Method ( if is_in_trait_impl {
1000
- MethodKind :: Trait { body : true }
1001
- } else {
1002
- MethodKind :: Inherent
1003
- } ) ,
1004
- AssocItemKind :: Type ( _) => Target :: AssocTy ,
1005
- _ => unreachable ! ( ) ,
1006
- } ;
1007
996
let attrs =
1008
- self . lower_attrs ( hir_id, & i. attrs , i. span , target ) ; //TODO this is not correct
997
+ self . lower_attrs ( hir_id, & i. attrs , i. span , Target :: from_assoc_item_kind ( & i . kind , is_in_trait_impl ) ) ;
1009
998
1010
999
let ( ident, ( generics, kind) ) = match & i. kind {
1011
1000
AssocItemKind :: Const ( box ConstItem {
0 commit comments