//! 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` | |
_ => {} | |
} | |
} |