From e003c3ea059e20a0e04cc953d0d128e0ea69acd8 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 9 Jun 2020 14:13:23 -0700 Subject: [PATCH] Add test for proc macro resolution in intra doc links --- .../auxiliary/intra-link-proc-macro-macro.rs | 30 +++++++++++++++++++ src/test/rustdoc/intra-link-proc-macro.rs | 17 +++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs create mode 100644 src/test/rustdoc/intra-link-proc-macro.rs diff --git a/src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs b/src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs new file mode 100644 index 0000000000000..fee92ff2e0dd1 --- /dev/null +++ b/src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs @@ -0,0 +1,30 @@ +// force-host +// no-prefer-dynamic +// compile-flags: --crate-type proc-macro + +#![crate_type="proc-macro"] +#![crate_name="intra_link_proc_macro_macro"] + +extern crate proc_macro; + +use proc_macro::TokenStream; + +#[proc_macro_derive(DeriveA)] +pub fn a_derive(input: TokenStream) -> TokenStream { + input +} + +#[proc_macro_derive(DeriveB)] +pub fn b_derive(input: TokenStream) -> TokenStream { + input +} + +#[proc_macro_attribute] +pub fn attr_a(input: TokenStream, _args: TokenStream) -> TokenStream { + input +} + +#[proc_macro_attribute] +pub fn attr_b(input: TokenStream, _args: TokenStream) -> TokenStream { + input +} diff --git a/src/test/rustdoc/intra-link-proc-macro.rs b/src/test/rustdoc/intra-link-proc-macro.rs new file mode 100644 index 0000000000000..78ef91ab68291 --- /dev/null +++ b/src/test/rustdoc/intra-link-proc-macro.rs @@ -0,0 +1,17 @@ +// aux-build:intra-link-proc-macro-macro.rs +// build-aux-docs +// @has intra_link_proc_macro/index.html +#![deny(intra_doc_link_resolution_failure)] + +extern crate intra_link_proc_macro_macro; + + +pub use intra_link_proc_macro_macro::{DeriveA, attr_a}; +use intra_link_proc_macro_macro::{DeriveB, attr_b}; + +// @has - '//a/@href' '../intra_link_proc_macro/derive.DeriveA.html' +// @has - '//a/@href' '../intra_link_proc_macro/attr.attr_a.html' +// @has - '//a/@href' '../intra_link_proc_macro_macro/derive.DeriveB.html' +// @has - '//a/@href' '../intra_link_proc_macro_macro/attr.attr_b.html' +/// Link to [DeriveA], [attr_a], [DeriveB], [attr_b] +pub struct Foo;