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]>
Ray 7 weeks ago
parent a6ff4a4 · commit c2ea219
-rw-r--r--crates/hir-def/src/attrs.rs11
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