From 999e020da2f08460ab0683409227ddd88097b336 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 31 Jan 2021 19:53:01 +0100 Subject: Return inner attributes of outline mod declarations in `attrs_query` --- crates/hir_def/src/attr.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'crates/hir_def') diff --git a/crates/hir_def/src/attr.rs b/crates/hir_def/src/attr.rs index 6513daec8..fe4c3fa28 100644 --- a/crates/hir_def/src/attr.rs +++ b/crates/hir_def/src/attr.rs @@ -200,7 +200,15 @@ impl Attrs { let mod_data = &def_map[module.local_id]; match mod_data.declaration_source(db) { Some(it) => { - RawAttrs::from_attrs_owner(db, it.as_ref().map(|it| it as &dyn AttrsOwner)) + let raw_attrs = RawAttrs::from_attrs_owner( + db, + it.as_ref().map(|it| it as &dyn AttrsOwner), + ); + match mod_data.definition_source(db) { + InFile { file_id, value: ModuleSource::SourceFile(file) } => raw_attrs + .merge(RawAttrs::from_attrs_owner(db, InFile::new(file_id, &file))), + _ => raw_attrs, + } } None => RawAttrs::from_attrs_owner( db, -- cgit v1.2.3