about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-06-09 14:13:23 -0700
committerManish Goregaokar <manishsmail@gmail.com>2020-06-09 16:35:59 -0700
commite003c3ea059e20a0e04cc953d0d128e0ea69acd8 (patch)
treef87e9085293fe2a1eded67ed1bc09956a3022291 /src
parent4eda3f77bd1ec94a97229a3ff0610eee136aa0d5 (diff)
downloadrust-e003c3ea059e20a0e04cc953d0d128e0ea69acd8.tar.gz
rust-e003c3ea059e20a0e04cc953d0d128e0ea69acd8.zip
Add test for proc macro resolution in intra doc links
Diffstat (limited to 'src')
-rw-r--r--src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs30
-rw-r--r--src/test/rustdoc/intra-link-proc-macro.rs17
2 files changed, 47 insertions, 0 deletions
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 00000000000..fee92ff2e0d
--- /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 00000000000..78ef91ab682
--- /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;