From 07f46cec49ef73efdcbe92a065c23c2775d975d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jana=20D=C3=B6nszelmann?= Date: Thu, 5 Feb 2026 13:12:09 +0100 Subject: [PATCH] Convenience matcher in find_attrs for crate attrs --- compiler/rustc_hir/src/attrs/mod.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compiler/rustc_hir/src/attrs/mod.rs b/compiler/rustc_hir/src/attrs/mod.rs index 366c48168205..090517486d6f 100644 --- a/compiler/rustc_hir/src/attrs/mod.rs +++ b/compiler/rustc_hir/src/attrs/mod.rs @@ -32,6 +32,13 @@ /// A common way to get those is through `tcx.get_all_attrs(did)` #[macro_export] macro_rules! find_attr { + ($tcx: expr, crate, $pattern: pat $(if $guard: expr)?) => { + $crate::find_attr!($tcx, crate, $pattern $(if $guard)? => ()).is_some() + }; + ($tcx: expr, crate, $pattern: pat $(if $guard: expr)? => $e: expr) => { + $crate::find_attr!($tcx.hir_krate_attrs(), $pattern $(if $guard)? => $e) + }; + ($tcx: expr, $def_id: expr, $pattern: pat $(if $guard: expr)?) => { $crate::find_attr!($tcx, $def_id, $pattern $(if $guard)? => ()).is_some() };