about summary refs log tree commit diff
path: root/clippy_utils/src/attrs.rs
diff options
context:
space:
mode:
authorflip1995 <philipp.krones@embecosm.com>2021-04-08 17:50:13 +0200
committerflip1995 <philipp.krones@embecosm.com>2021-04-08 17:50:13 +0200
commitf6d1f368db9e726fde825dc2525cdec07673b416 (patch)
tree3528a2e5d9d2c22732db72815ce4e121b157bfb9 /clippy_utils/src/attrs.rs
parentcde58f7174cd83752b3c0a00a970dcc07c511077 (diff)
downloadrust-f6d1f368db9e726fde825dc2525cdec07673b416.tar.gz
rust-f6d1f368db9e726fde825dc2525cdec07673b416.zip
Merge commit 'b40ea209e7f14c8193ddfc98143967b6a2f4f5c9' into clippyup
Diffstat (limited to 'clippy_utils/src/attrs.rs')
-rw-r--r--clippy_utils/src/attrs.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/clippy_utils/src/attrs.rs b/clippy_utils/src/attrs.rs
index 8d28421d70d..7ec8452bf4c 100644
--- a/clippy_utils/src/attrs.rs
+++ b/clippy_utils/src/attrs.rs
@@ -1,4 +1,4 @@
-use rustc_ast::ast;
+use rustc_ast::{ast, attr};
 use rustc_errors::Applicability;
 use rustc_session::Session;
 use rustc_span::sym;
@@ -148,3 +148,13 @@ pub fn get_unique_inner_attr(sess: &Session, attrs: &[ast::Attribute], name: &'s
 pub fn is_proc_macro(sess: &Session, attrs: &[ast::Attribute]) -> bool {
     attrs.iter().any(|attr| sess.is_proc_macro_attr(attr))
 }
+
+/// Return true if the attributes contain `#[doc(hidden)]`
+pub fn is_doc_hidden(attrs: &[ast::Attribute]) -> bool {
+    #[allow(clippy::filter_map)]
+    attrs
+        .iter()
+        .filter(|attr| attr.has_name(sym::doc))
+        .flat_map(ast::Attribute::meta_item_list)
+        .any(|l| attr::list_contains_name(&l, sym::hidden))
+}