diff options
Diffstat (limited to 'crates/ra_hir_def/src/data.rs')
-rw-r--r-- | crates/ra_hir_def/src/data.rs | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/crates/ra_hir_def/src/data.rs b/crates/ra_hir_def/src/data.rs index 689bb6c5c..b8fbf0ed4 100644 --- a/crates/ra_hir_def/src/data.rs +++ b/crates/ra_hir_def/src/data.rs | |||
@@ -7,7 +7,6 @@ use hir_expand::{ | |||
7 | name::{name, AsName, Name}, | 7 | name::{name, AsName, Name}, |
8 | AstId, InFile, | 8 | AstId, InFile, |
9 | }; | 9 | }; |
10 | use ra_cfg::CfgOptions; | ||
11 | use ra_prof::profile; | 10 | use ra_prof::profile; |
12 | use ra_syntax::ast::{ | 11 | use ra_syntax::ast::{ |
13 | self, AstNode, ImplItem, ModuleItemOwner, NameOwner, TypeAscriptionOwner, VisibilityOwner, | 12 | self, AstNode, ImplItem, ModuleItemOwner, NameOwner, TypeAscriptionOwner, VisibilityOwner, |
@@ -75,7 +74,7 @@ impl FunctionData { | |||
75 | TypeRef::unit() | 74 | TypeRef::unit() |
76 | }; | 75 | }; |
77 | 76 | ||
78 | let ret_type = if src.value.async_kw_token().is_some() { | 77 | let ret_type = if src.value.async_token().is_some() { |
79 | let future_impl = desugar_future_path(ret_type); | 78 | let future_impl = desugar_future_path(ret_type); |
80 | let ty_bound = TypeBound::Path(future_impl); | 79 | let ty_bound = TypeBound::Path(future_impl); |
81 | TypeRef::ImplTrait(vec![ty_bound]) | 80 | TypeRef::ImplTrait(vec![ty_bound]) |
@@ -136,7 +135,7 @@ impl TraitData { | |||
136 | pub(crate) fn trait_data_query(db: &dyn DefDatabase, tr: TraitId) -> Arc<TraitData> { | 135 | pub(crate) fn trait_data_query(db: &dyn DefDatabase, tr: TraitId) -> Arc<TraitData> { |
137 | let src = tr.lookup(db).source(db); | 136 | let src = tr.lookup(db).source(db); |
138 | let name = src.value.name().map_or_else(Name::missing, |n| n.as_name()); | 137 | let name = src.value.name().map_or_else(Name::missing, |n| n.as_name()); |
139 | let auto = src.value.auto_kw_token().is_some(); | 138 | let auto = src.value.auto_token().is_some(); |
140 | let ast_id_map = db.ast_id_map(src.file_id); | 139 | let ast_id_map = db.ast_id_map(src.file_id); |
141 | 140 | ||
142 | let container = AssocContainerId::TraitId(tr); | 141 | let container = AssocContainerId::TraitId(tr); |
@@ -318,10 +317,6 @@ fn collect_impl_items_in_macro( | |||
318 | } | 317 | } |
319 | } | 318 | } |
320 | 319 | ||
321 | fn is_cfg_enabled(cfg_options: &CfgOptions, attrs: &Attrs) -> bool { | ||
322 | attrs.by_key("cfg").tt_values().all(|tt| cfg_options.is_cfg_enabled(tt) != Some(false)) | ||
323 | } | ||
324 | |||
325 | fn collect_impl_items( | 320 | fn collect_impl_items( |
326 | db: &dyn DefDatabase, | 321 | db: &dyn DefDatabase, |
327 | impl_items: impl Iterator<Item = ImplItem>, | 322 | impl_items: impl Iterator<Item = ImplItem>, |
@@ -341,10 +336,11 @@ fn collect_impl_items( | |||
341 | } | 336 | } |
342 | .intern(db); | 337 | .intern(db); |
343 | 338 | ||
344 | if !is_cfg_enabled( | 339 | if !db |
345 | &crate_graph[module_id.krate].cfg_options, | 340 | .function_data(def) |
346 | &db.function_data(def).attrs, | 341 | .attrs |
347 | ) { | 342 | .is_cfg_enabled(&crate_graph[module_id.krate].cfg_options) |
343 | { | ||
348 | None | 344 | None |
349 | } else { | 345 | } else { |
350 | Some(def.into()) | 346 | Some(def.into()) |