Unnamed repository; edit this file 'description' to name the repository.
Update crates/hir-def/src/attrs.rs
Co-authored-by: Chayim Refael Friedman <[email protected]>
| -rw-r--r-- | crates/hir-def/src/attrs.rs | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/crates/hir-def/src/attrs.rs b/crates/hir-def/src/attrs.rs index ddcfea2c21..f27b2d54a6 100644 --- a/crates/hir-def/src/attrs.rs +++ b/crates/hir-def/src/attrs.rs @@ -965,17 +965,12 @@ impl AttrFlags { pub fn docs(db: &dyn DefDatabase, owner: AttrDefId) -> Option<Box<Docs>> { let (source, outer_mod_decl, _extra_crate_attrs, krate) = attrs_source(db, owner); let inner_attrs_node = source.value.inner_attributes_node(); - let outer_resolver = if outer_mod_decl.is_some() { - if let AttrDefId::ModuleId(module_id) = owner { - module_id - .containing_module(db) - .map(|parent| move || -> Resolver<'_> { parent.resolver(db) }) - } else { - None - } + let parent = if outer_mod_decl.is_some() && AttrDefId::ModuleId(module_id) = owner { + module_id.containing_module(db) } else { None }; + let outer_resolver = || parent.map(|it| it.resolver(db)); // Note: we don't have to pass down `_extra_crate_attrs` here, since `extract_docs` // does not handle crate-level attributes related to docs. // See: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#at-the-crate-level |