fn main() {
let x = match 1i8 {
-0x80..=-1 => -99,
0..=10 => 0,
_ => 99,
};
println!("{}", x);
}
This prints -99 instead of 0.
Changing the first pattern to -0x80 | -0x7f..=-1 => -99, will work around the issue.
Changing it to -0x80..=-0x7f | -0x7e..=-1 reintroduces the issue.