about summary refs log tree commit diff
path: root/tests/ui/macros/metavar-expressions/required-feature.rs
blob: 77c165e38559386b6bef9d2de6afdc9f4f0a71fc (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
35
36
37
38
39
40
41
42
43
macro_rules! count {
    ( $( $e:stmt ),* ) => {
        ${ count($e) }
        //~^ ERROR meta-variable expressions are unstable
    };
}

macro_rules! dollar_dollar {
    () => {
        macro_rules! bar {
            ( $$( $$any:tt )* ) => { $$( $$any )* };
            //~^ ERROR meta-variable expressions are unstable
            //~| ERROR meta-variable expressions are unstable
            //~| ERROR meta-variable expressions are unstable
            //~| ERROR meta-variable expressions are unstable
        }
    };
}

macro_rules! index {
    ( $( $e:stmt ),* ) => {
        $( ${ignore($e)} ${index()} )*
        //~^ ERROR meta-variable expressions are unstable
        //~| ERROR meta-variable expressions are unstable
    };
}

macro_rules! ignore {
    ( $( $i:stmt ),* ) => {{
        0 $( + 1 ${ignore($i)} )*
        //~^ ERROR meta-variable expressions are unstable
    }};
}

macro_rules! len {
    ( $( $e:stmt ),* ) => {
        $( ${ignore($e)} ${len()} )*
        //~^ ERROR meta-variable expressions are unstable
        //~| ERROR meta-variable expressions are unstable
    };
}

fn main() {}