2 let mut if_lettable = Vec::<i32>::new();
3 let mut first_or = Vec::<i32>::new();
4 let mut or_two = Vec::<i32>::new();
5 let mut range_from = Vec::<i32>::new();
6 let mut bottom = Vec::<i32>::new();
7 let mut errors_only = Vec::<i32>::new();
9 for x in -9 + 1..=(9 - 2) {
10 if let n @ 2..3|4 = x {
11 //~^ error: variable `n` is not bound in all patterns
12 //~| exclusive range pattern syntax is experimental
14 } else if let 2..3 | 4 = x {
15 //~^ exclusive range pattern syntax is experimental
19 0..5+1 => errors_only.push(x),
20 //~^ error: expected one of `=>`, `if`, or `|`, found `+`
21 1 | -3..0 => first_or.push(x),
22 y @ (0..5 | 6) => or_two.push(y),
23 y @ 0..const { 5 + 1 } => assert_eq!(y, 5),
24 y @ -5.. => range_from.push(y),
25 y @ ..-7 => assert_eq!(y, -8),