]> git.lizzy.rs Git - rust.git/blob - src/test/ui/pattern/patkind-litrange-no-expr.rs
Auto merge of #81507 - weiznich:add_diesel_to_cargo_test, r=Mark-Simulacrum
[rust.git] / src / test / ui / pattern / patkind-litrange-no-expr.rs
1 macro_rules! enum_number {
2     ($name:ident { $($variant:ident = $value:expr, )* }) => {
3         enum $name {
4             $($variant = $value,)*
5         }
6
7         fn foo(value: i32) -> Option<$name> {
8             match value {
9                 $( $value => Some($name::$variant), )* // PatKind::Lit
10                 $( $value ..= 42 => Some($name::$variant), )* // PatKind::Range
11                 _ => None
12             }
13         }
14     }
15 }
16
17 enum_number!(Change {
18     Pos = 1,
19     Neg = -1,
20     Arith = 1 + 1, //~ ERROR arbitrary expressions aren't allowed in patterns
21                    //~| ERROR arbitrary expressions aren't allowed in patterns
22                    //~| ERROR only `char` and numeric types are allowed in range patterns
23 });
24
25 fn main() {}