mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-27 18:56:24 +00:00
22 lines
540 B
Rust
22 lines
540 B
Rust
//! 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`
|
|
_ => {}
|
|
}
|
|
}
|