]> git.lizzy.rs Git - rust.git/commitdiff
Add regression test
authorinquisitivecrystal <22333129+inquisitivecrystal@users.noreply.github.com>
Thu, 8 Jul 2021 00:55:09 +0000 (17:55 -0700)
committerinquisitivecrystal <22333129+inquisitivecrystal@users.noreply.github.com>
Fri, 9 Jul 2021 05:54:05 +0000 (22:54 -0700)
src/test/ui/lint/missing-doc-private-macro.rs [new file with mode: 0644]
src/test/ui/lint/missing-doc-private-macro.stderr [new file with mode: 0644]

diff --git a/src/test/ui/lint/missing-doc-private-macro.rs b/src/test/ui/lint/missing-doc-private-macro.rs
new file mode 100644 (file)
index 0000000..8d1d5c5
--- /dev/null
@@ -0,0 +1,43 @@
+// Checks that undocumented private macros will not generate `missing_docs`
+// lints, but public ones will.
+//
+// This is a regression test for issue #57569
+#![deny(missing_docs)]
+#![feature(decl_macro)]
+//! Empty documentation.
+
+macro new_style_private_macro {
+    () => ()
+}
+
+pub(crate) macro new_style_crate_macro {
+    () => ()
+}
+
+macro_rules! old_style_private_macro {
+    () => ()
+}
+
+mod submodule {
+    pub macro new_style_macro_in_private_module {
+        () => ()
+    }
+
+    macro_rules! old_style_mod_private_macro {
+        () => ()
+    }
+
+    #[macro_export]
+    macro_rules! exported_to_top_level {
+        //~^ ERROR missing documentation for macro
+        () => ()
+    }
+}
+
+pub macro top_level_pub_macro {
+    //~^ ERROR missing documentation for macro
+    () => ()
+}
+
+/// Empty documentation.
+pub fn main() {}
diff --git a/src/test/ui/lint/missing-doc-private-macro.stderr b/src/test/ui/lint/missing-doc-private-macro.stderr
new file mode 100644 (file)
index 0000000..a5d39fa
--- /dev/null
@@ -0,0 +1,20 @@
+error: missing documentation for macro
+  --> $DIR/missing-doc-private-macro.rs:31:5
+   |
+LL |     macro_rules! exported_to_top_level {
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+note: the lint level is defined here
+  --> $DIR/missing-doc-private-macro.rs:5:9
+   |
+LL | #![deny(missing_docs)]
+   |         ^^^^^^^^^^^^
+
+error: missing documentation for macro
+  --> $DIR/missing-doc-private-macro.rs:37:1
+   |
+LL | pub macro top_level_pub_macro {
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+