summaryrefslogtreecommitdiffstats
path: root/src/test/rustdoc/macro_rules-matchers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/rustdoc/macro_rules-matchers.rs')
-rw-r--r--src/test/rustdoc/macro_rules-matchers.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/rustdoc/macro_rules-matchers.rs b/src/test/rustdoc/macro_rules-matchers.rs
new file mode 100644
index 000000000..efc3b21e6
--- /dev/null
+++ b/src/test/rustdoc/macro_rules-matchers.rs
@@ -0,0 +1,39 @@
+// This is a regression test for issue #86208.
+// It is also a general test of macro_rules! display.
+
+#![crate_name = "foo"]
+
+// @has 'foo/macro.todo.html'
+// @has - '//span[@class="macro"]' 'macro_rules!'
+// @has - '//span[@class="ident"]' 'todo'
+// Note: the only op is the `+`
+// @count - '//pre[@class="rust macro"]//span[@class="op"]' 1
+
+// @has - '{ () => { ... }; ($('
+// @has - '//span[@class="macro-nonterminal"]' '$'
+// @has - '//span[@class="macro-nonterminal"]' 'arg'
+// @has - ':'
+// @has - '//span[@class="ident"]' 'tt'
+// @has - '),'
+// @has - '//span[@class="op"]' '+'
+// @has - ') => { ... }; }'
+pub use std::todo;
+
+mod mod1 {
+ // @has 'foo/macro.macro1.html'
+ // @has - 'macro_rules!'
+ // @has - 'macro1'
+ // @has - '{ () => { ... }; ($('
+ // @has - '//span[@class="macro-nonterminal"]' '$'
+ // @has - '//span[@class="macro-nonterminal"]' 'arg'
+ // @has - ':'
+ // @has - 'expr'
+ // @has - '),'
+ // @has - '+'
+ // @has - ') => { ... }; }'
+ #[macro_export]
+ macro_rules! macro1 {
+ () => {};
+ ($($arg:expr),+) => { stringify!($($arg),+) };
+ }
+}