1 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 #![deny(overflowing_literals)]
18 Ci8 = 223, //~ ERROR literal out of range for i8
25 Ci16 = 55555, //~ ERROR literal out of range for i16
31 Bi32 = -2_000_000_000,
32 Ci32 = 3_000_000_000, //~ ERROR literal out of range for i32
38 Bi64 = -9223372036854775808,
39 Ci64 = 9223372036854775809, //~ ERROR literal out of range for i64
42 // u64 currently allows negative numbers, and i64 allows numbers greater than `1<<63`. This is a
43 // little counterintuitive, but since the discriminant can store all the bits, and extracting it
44 // with a cast requires specifying the signedness, there is no loss of information in those cases.
45 // This also applies to isize and usize on 64-bit targets.