about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorQuietMisdreavus <grey@quietmisdreavus.net>2017-12-19 15:25:06 -0600
committerQuietMisdreavus <grey@quietmisdreavus.net>2017-12-19 15:25:06 -0600
commit8fc0d47581a42138dba0840bb5abf144c142bdd7 (patch)
tree23c52ec2ab1d7c7ed1044200281666c174c813b7 /src
parent06fbd599cf55b9e49dc54f5f7f356d19e4c2ffec (diff)
downloadrust-8fc0d47581a42138dba0840bb5abf144c142bdd7.tar.gz
rust-8fc0d47581a42138dba0840bb5abf144c142bdd7.zip
make the missing_docs lint check for doc(include)
Diffstat (limited to 'src')
-rw-r--r--src/librustc_lint/builtin.rs22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs
index 07874a8cc69..5438b6407a7 100644
--- a/src/librustc_lint/builtin.rs
+++ b/src/librustc_lint/builtin.rs
@@ -349,7 +349,27 @@ impl MissingDoc {
             }
         }
 
-        let has_doc = attrs.iter().any(|a| a.is_value_str() && a.check_name("doc"));
+        fn has_doc(attr: &ast::Attribute) -> bool {
+            if !attr.check_name("doc") {
+                return false;
+            }
+
+            if attr.is_value_str() {
+                return true;
+            }
+
+            if let Some(list) = attr.meta_item_list() {
+                for meta in list {
+                    if meta.check_name("include") {
+                        return true;
+                    }
+                }
+            }
+
+            false
+        }
+
+        let has_doc = attrs.iter().any(|a| has_doc(a));
         if !has_doc {
             cx.span_lint(MISSING_DOCS,
                          sp,