Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 27516ed80b..1ae6643294 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -556,6 +556,23 @@ impl HasCrate for ModuleDef {
}
}
+impl HasAttrs for ModuleDef {
+ fn attr_id(self, db: &dyn HirDatabase) -> attrs::AttrsOwner {
+ match self {
+ ModuleDef::Module(it) => it.attr_id(db),
+ ModuleDef::Function(it) => it.attr_id(db),
+ ModuleDef::Adt(it) => it.attr_id(db),
+ ModuleDef::EnumVariant(it) => it.attr_id(db),
+ ModuleDef::Const(it) => it.attr_id(db),
+ ModuleDef::Static(it) => it.attr_id(db),
+ ModuleDef::Trait(it) => it.attr_id(db),
+ ModuleDef::TypeAlias(it) => it.attr_id(db),
+ ModuleDef::Macro(it) => it.attr_id(db),
+ ModuleDef::BuiltinType(_) => attrs::AttrsOwner::Dummy,
+ }
+ }
+}
+
impl HasVisibility for ModuleDef {
fn visibility(&self, db: &dyn HirDatabase) -> Visibility {
match *self {