From 798c53925a00f395f8a01a6901b96df7159a0bdf Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 26 Aug 2021 15:11:55 +0200 Subject: [PATCH] Ignore text and bench attributes again --- crates/hir_def/src/builtin_attr.rs | 5 +++++ crates/hir_def/src/nameres/collector.rs | 1 + 2 files changed, 6 insertions(+) diff --git a/crates/hir_def/src/builtin_attr.rs b/crates/hir_def/src/builtin_attr.rs index 6cd185ceeb2..15fb904e6f3 100644 --- a/crates/hir_def/src/builtin_attr.rs +++ b/crates/hir_def/src/builtin_attr.rs @@ -34,6 +34,11 @@ macro_rules! rustc_attr { }; } +// FIXME: We shouldn't special case these at all, but as of now expanding attributes severely degrades +// user experience due to lacking support. +/// Built-in macro-like attributes. +pub const EXTRA_ATTRIBUTES: &[BuiltinAttribute] = &["test", "bench"]; + /// "Inert" built-in attributes that have a special meaning to rustc or rustdoc. #[rustfmt::skip] pub const INERT_ATTRIBUTES: &[BuiltinAttribute] = &[ diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs index e9c33392f3c..f8901843528 100644 --- a/crates/hir_def/src/nameres/collector.rs +++ b/crates/hir_def/src/nameres/collector.rs @@ -1732,6 +1732,7 @@ impl ModCollector<'_, '_> { let name = name.to_string(); let is_inert = builtin_attr::INERT_ATTRIBUTES .iter() + .chain(builtin_attr::EXTRA_ATTRIBUTES) .copied() .chain(self.def_collector.registered_attrs.iter().map(AsRef::as_ref)) .any(|attr| name == *attr);