]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc/macro_rules-matchers.rs
Merge commit 'cd4810de42c57b64b74dae09c530a4c3a41f87b9' into libgccjit-codegen
[rust.git] / src / test / rustdoc / macro_rules-matchers.rs
1 // This is a regression test for issue #86208.
2 // It is also a general test of macro_rules! display.
3
4 #![crate_name = "foo"]
5
6 // @has 'foo/macro.todo.html'
7 // @has - '//span[@class="macro"]' 'macro_rules!'
8 // @has - '//span[@class="ident"]' 'todo'
9 // Note: count = 2 * ('=' + '>') + '+' = 2 * (1 + 1) + 1 = 5
10 // @count - '//pre[@class="rust macro"]//span[@class="op"]' 5
11
12 // @has - '{ ()'
13 // @has - '//span[@class="op"]' '='
14 // @has - '//span[@class="op"]' '>'
15 // @has - '{ ... };'
16
17 // @has - '($('
18 // @has - '//span[@class="macro-nonterminal"]' '$'
19 // @has - '//span[@class="macro-nonterminal"]' 'arg'
20 // @has - ':'
21 // @has - '//span[@class="ident"]' 'tt'
22 // @has - '),'
23 // @has - '//span[@class="op"]' '+'
24 // @has - ')'
25 pub use std::todo;
26
27 mod mod1 {
28     // @has 'foo/macro.macro1.html'
29     // @has - 'macro_rules!'
30     // @has - 'macro1'
31     // @has - '{ ()'
32     // @has - '($('
33     // @has - '//span[@class="macro-nonterminal"]' '$'
34     // @has - '//span[@class="macro-nonterminal"]' 'arg'
35     // @has - ':'
36     // @has - 'expr'
37     // @has - '),'
38     // @has - '+'
39     // @has - ')'
40     #[macro_export]
41     macro_rules! macro1 {
42         () => {};
43         ($($arg:expr),+) => { stringify!($($arg),+) };
44     }
45 }