summaryrefslogtreecommitdiffstats
path: root/src/test/rustdoc/macro_rules-matchers.rs
blob: 96f4126c7c277f06e3e450eaa99cf2e6b3e20667 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 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!'
// @hasraw - ' todo {'

// @hasraw - '{ () => { ... }; ($('
// @has - '//span[@class="macro-nonterminal"]' '$'
// @has - '//span[@class="macro-nonterminal"]' 'arg'
// @hasraw - ':tt)+'
// @hasraw - ') => { ... }; }'
pub use std::todo;

mod mod1 {
    // @has 'foo/macro.macro1.html'
    // @hasraw - 'macro_rules!'
    // @hasraw - 'macro1'
    // @hasraw - '{ () => { ... }; ($('
    // @has - '//span[@class="macro-nonterminal"]' '$'
    // @has - '//span[@class="macro-nonterminal"]' 'arg'
    // @hasraw - ':'
    // @hasraw - 'expr'
    // @hasraw - '),'
    // @hasraw - '+'
    // @hasraw - ') => { ... }; }'
    #[macro_export]
    macro_rules! macro1 {
        () => {};
        ($($arg:expr),+) => { stringify!($($arg),+) };
    }
}