| //! Check that overflowing literals are in patterns are rejected | |
| #![feature(pattern_types)] | |
| #![feature(pattern_type_macro)] | |
| use std::pat::pattern_type; | |
| type TooBig = pattern_type!(u8 is 500..); | |
| //~^ ERROR: literal out of range for `u8` | |
| type TooSmall = pattern_type!(i8 is -500..); | |
| //~^ ERROR: literal out of range for `i8` | |
| type TooBigSigned = pattern_type!(i8 is 200..); | |
| //~^ ERROR: literal out of range for `i8` | |
| fn main() { | |
| match 5_u8 { | |
| 500 => {} | |
| //~^ ERROR literal out of range for `u8` | |
| _ => {} | |
| } | |
| } |