diff options
Diffstat (limited to 'crates/ra_hir/src/nameres')
-rw-r--r-- | crates/ra_hir/src/nameres/raw.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crates/ra_hir/src/nameres/raw.rs b/crates/ra_hir/src/nameres/raw.rs index c494b95b0..0e27dd2db 100644 --- a/crates/ra_hir/src/nameres/raw.rs +++ b/crates/ra_hir/src/nameres/raw.rs | |||
@@ -353,8 +353,7 @@ impl<DB: AstDatabase> RawItemsCollector<&DB> { | |||
353 | 353 | ||
354 | let name = m.name().map(|it| it.as_name()); | 354 | let name = m.name().map(|it| it.as_name()); |
355 | let ast_id = self.source_ast_id_map.ast_id(&m); | 355 | let ast_id = self.source_ast_id_map.ast_id(&m); |
356 | let export = m.has_atom_attr("macro_export") | 356 | let export = m.attrs().filter_map(|x| x.simple_name()).any(|name| name == "macro_export"); |
357 | || m.attrs().filter_map(|x| x.as_call()).any(|(name, _)| name == "macro_export"); | ||
358 | 357 | ||
359 | let m = self.raw_items.macros.alloc(MacroData { ast_id, path, name, export }); | 358 | let m = self.raw_items.macros.alloc(MacroData { ast_id, path, name, export }); |
360 | self.push_item(current_module, RawItem::Macro(m)); | 359 | self.push_item(current_module, RawItem::Macro(m)); |
@@ -385,7 +384,7 @@ impl<DB: AstDatabase> RawItemsCollector<&DB> { | |||
385 | 384 | ||
386 | fn extract_mod_path_attribute(module: &ast::Module) -> Option<SmolStr> { | 385 | fn extract_mod_path_attribute(module: &ast::Module) -> Option<SmolStr> { |
387 | module.attrs().into_iter().find_map(|attr| { | 386 | module.attrs().into_iter().find_map(|attr| { |
388 | attr.as_key_value().and_then(|(name, value)| { | 387 | attr.as_simple_key_value().and_then(|(name, value)| { |
389 | let is_path = name == "path"; | 388 | let is_path = name == "path"; |
390 | if is_path { | 389 | if is_path { |
391 | Some(value) | 390 | Some(value) |