Unnamed repository; edit this file 'description' to name the repository.
Use hir_def::builtin_attr::find_builtin_attr_idx
Lukas Wirth 2023-04-07
parent 99b6952 · commit 40c068f
-rw-r--r--crates/hir-def/src/nameres/attr_resolution.rs9
-rw-r--r--crates/hir/src/lib.rs4
2 files changed, 4 insertions, 9 deletions
diff --git a/crates/hir-def/src/nameres/attr_resolution.rs b/crates/hir-def/src/nameres/attr_resolution.rs
index 79cabeb0fb..9eb3eaa489 100644
--- a/crates/hir-def/src/nameres/attr_resolution.rs
+++ b/crates/hir-def/src/nameres/attr_resolution.rs
@@ -83,12 +83,9 @@ impl DefMap {
}
if segments.len() == 1 {
- let registered = self.registered_attrs.iter().map(SmolStr::as_str);
- let is_inert = builtin_attr::INERT_ATTRIBUTES
- .iter()
- .map(|it| it.name)
- .chain(registered)
- .any(pred);
+ let mut registered = self.registered_attrs.iter().map(SmolStr::as_str);
+ let is_inert =
+ builtin_attr::find_builtin_attr_idx(&name).is_some() || registered.any(pred);
return is_inert;
}
}
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index bb78ee549b..05bcf12be5 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -2697,9 +2697,7 @@ impl BuiltinAttr {
}
fn builtin(name: &str) -> Option<Self> {
- hir_def::builtin_attr::INERT_ATTRIBUTES
- .iter()
- .position(|tool| tool.name == name)
+ hir_def::builtin_attr::find_builtin_attr_idx(name)
.map(|idx| BuiltinAttr { krate: None, idx: idx as u32 })
}