about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-05-13 21:36:52 +0200
committerGitHub <noreply@github.com>2019-05-13 21:36:52 +0200
commite952b52a16e14fd18b95c0e6cef48ead82d1c266 (patch)
tree41bc42155771fa9dc160bfd79e391e35bd075e39 /src/libsyntax_ext
parentc8ef512480296b1398640088fe16759ac9614d81 (diff)
parent5ccf2fb985b5581fdc3f1a3a647b0d613da996d3 (diff)
downloadrust-e952b52a16e14fd18b95c0e6cef48ead82d1c266.tar.gz
rust-e952b52a16e14fd18b95c0e6cef48ead82d1c266.zip
Rollup merge of #60562 - iliekturtles:proc-macro-missing-docs, r=alexcrichton
Add #[doc(hidden)] attribute on compiler generated module.

Resolves unavoidable `missing_docs` warning/error on proc-macro crates.
Resolves #42008.

Changes not yet tested locally, however I wanted to submit first since `rustc` takes forever to compile.
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 5ced1400acb..1eab739cf64 100644
--- a/src/libsyntax_ext/proc_macro_decls.rs
+++ b/src/libsyntax_ext/proc_macro_decls.rs
@@ -328,6 +328,7 @@ impl<'a> Visitor<'a> for CollectProcMacros<'a> {
 
 // Creates a new module which looks like:
 //
+//      #[doc(hidden)]
 //      mod $gensym {
 //          extern crate proc_macro;
 //
@@ -361,6 +362,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,
@@ -425,7 +430,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);