@@ -9,8 +9,10 @@ use triomphe::Arc;
99
1010use crate :: {
1111 AdtId , AssocItemId , AttrDefId , Crate , EnumId , EnumVariantId , FunctionId , ImplId , ModuleDefId ,
12- StaticId , StructId , TraitId , TypeAliasId , UnionId , db:: DefDatabase , expr_store:: path:: Path ,
13- nameres:: crate_def_map,
12+ StaticId , StructId , TraitId , TypeAliasId , UnionId ,
13+ db:: DefDatabase ,
14+ expr_store:: path:: Path ,
15+ nameres:: { assoc:: TraitItems , crate_def_map} ,
1416} ;
1517
1618#[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash ) ]
@@ -113,14 +115,16 @@ pub fn crate_lang_items(db: &dyn DefDatabase, krate: Crate) -> Option<Box<LangIt
113115 match def {
114116 ModuleDefId :: TraitId ( trait_) => {
115117 lang_items. collect_lang_item ( db, trait_, LangItemTarget :: Trait ) ;
116- db. trait_items ( trait_) . items . iter ( ) . for_each ( |& ( _, assoc_id) | match assoc_id {
117- AssocItemId :: FunctionId ( f) => {
118- lang_items. collect_lang_item ( db, f, LangItemTarget :: Function ) ;
118+ TraitItems :: query ( db, trait_) . items . iter ( ) . for_each ( |& ( _, assoc_id) | {
119+ match assoc_id {
120+ AssocItemId :: FunctionId ( f) => {
121+ lang_items. collect_lang_item ( db, f, LangItemTarget :: Function ) ;
122+ }
123+ AssocItemId :: TypeAliasId ( alias) => {
124+ lang_items. collect_lang_item ( db, alias, LangItemTarget :: TypeAlias )
125+ }
126+ AssocItemId :: ConstId ( _) => { }
119127 }
120- AssocItemId :: TypeAliasId ( alias) => {
121- lang_items. collect_lang_item ( db, alias, LangItemTarget :: TypeAlias )
122- }
123- AssocItemId :: ConstId ( _) => { }
124128 } ) ;
125129 }
126130 ModuleDefId :: AdtId ( AdtId :: EnumId ( e) ) => {
0 commit comments