summaryrefslogtreecommitdiffstats
path: root/tests/ui/no-patterns-in-args-macro.rs
blob: b5109f9c286962725d4ae9fe8cc6cae82e1eda9f (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
macro_rules! m {
    ($pat: pat) => {
        trait Tr {
            fn trait_method($pat: u8);
        }

        type A = fn($pat: u8);

        extern "C" {
            fn foreign_fn($pat: u8);
        }
    };
}

mod good_pat {
    m!(good_pat); // OK
}

mod bad_pat {
    m!((bad, pat));
    //~^ ERROR patterns aren't allowed in function pointer types
    //~| ERROR patterns aren't allowed in foreign function declarations
    //~| ERROR patterns aren't allowed in functions without bodies
}

fn main() {}