@@ -9,8 +9,10 @@ use triomphe::Arc;
9
9
10
10
use crate :: {
11
11
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} ,
14
16
} ;
15
17
16
18
#[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash ) ]
@@ -113,14 +115,16 @@ pub fn crate_lang_items(db: &dyn DefDatabase, krate: Crate) -> Option<Box<LangIt
113
115
match def {
114
116
ModuleDefId :: TraitId ( trait_) => {
115
117
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 ( _) => { }
119
127
}
120
- AssocItemId :: TypeAliasId ( alias) => {
121
- lang_items. collect_lang_item ( db, alias, LangItemTarget :: TypeAlias )
122
- }
123
- AssocItemId :: ConstId ( _) => { }
124
128
} ) ;
125
129
}
126
130
ModuleDefId :: AdtId ( AdtId :: EnumId ( e) ) => {
0 commit comments