about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorMike Boutin <mike.boutin@gmail.com>2019-05-05 10:25:01 -0400
committerMike Boutin <mike.boutin@gmail.com>2019-05-11 15:04:10 -0400
commit5ccf2fb985b5581fdc3f1a3a647b0d613da996d3 (patch)
tree96ad90430b0022db6d5fdc068c70aafc7901aa50 /src/libsyntax_ext
parent5f1924c9922c640108d2225d6b68e69e589b94ae (diff)
downloadrust-5ccf2fb985b5581fdc3f1a3a647b0d613da996d3.tar.gz
rust-5ccf2fb985b5581fdc3f1a3a647b0d613da996d3.zip
Add #[doc(hidden)] attribute on compiler generated proc-macro module.
Stops unavoidable `missing_docs` warning/error on proc-macro crates.
Resolves #42008.
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/proc_macro_decls.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libsyntax_ext/proc_macro_decls.rs b/src/libsyntax_ext/proc_macro_decls.rs
index f0390ba3d40..e14781c4fa9 100644
--- a/src/libsyntax_ext/proc_macro_decls.rs
+++ b/src/libsyntax_ext/proc_macro_decls.rs
@@ -324,6 +324,7 @@ impl<'a> Visitor<'a> for CollectProcMacros<'a> {
 
 // Creates a new module which looks like:
 //
+//      #[doc(hidden)]
 //      mod $gensym {
 //          extern crate proc_macro;
 //
@@ -357,6 +358,10 @@ fn mk_decls(
     });
     let span = DUMMY_SP.apply_mark(mark);
 
+    let hidden = cx.meta_list_item_word(span, Symbol::intern("hidden"));
+    let doc = cx.meta_list(span, Symbol::intern("doc"), vec![hidden]);
+    let doc_hidden = cx.attribute(span, doc);
+
     let proc_macro = Ident::from_str("proc_macro");
     let krate = cx.item(span,
                         proc_macro,
@@ -421,7 +426,7 @@ fn mk_decls(
         span,
         span,
         ast::Ident::with_empty_ctxt(Symbol::gensym("decls")),
-        vec![],
+        vec![doc_hidden],
         vec![krate, decls_static],
     ).map(|mut i| {
         i.vis = respan(span, ast::VisibilityKind::Public);