// In expression, `&a..=b` is treated as `(&a)..=(b)` and `box a..=b` is | |
// `(box a)..=(b)`. In a pattern, however, `&a..=b` means `&(a..=b)`. This may | |
// lead to confusion. | |
// run-rustfix | |
#![warn(ellipsis_inclusive_range_patterns)] | |
pub fn main() { | |
match &12 { | |
&(0..=9) => {} | |
//~^ WARN `...` range patterns are deprecated | |
//~| WARN this was previously accepted by the compiler | |
//~| HELP use `..=` for an inclusive range | |
&(10 ..=15) => {} | |
//~^ ERROR the range pattern here has ambiguous interpretation | |
//~| HELP add parentheses to clarify the precedence | |
&(16..=20) => {} | |
_ => {} | |
} | |
} |