]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/integer-literal-suffix-inference.rs
Don't force resolution of integral type vars in unary minus exprs
[rust.git] / src / test / run-pass / integer-literal-suffix-inference.rs
1 fn main() {
2
3     // The commented-out lines are ones that fail currently.  I'm
4     // working on figuring out why (#1425). -- lkuper
5
6     fn id_i8(n: i8) -> i8 { n }
7     fn id_i16(n: i16) -> i16 { n }
8     fn id_i32(n: i32) -> i32 { n }
9     fn id_i64(n: i64) -> i64 { n }
10
11     fn id_uint(n: uint) -> uint { n }
12     fn id_u8(n: u8) -> u8 { n }
13     fn id_u16(n: u16) -> u16 { n }
14     fn id_u32(n: u32) -> u32 { n }
15     fn id_u64(n: u64) -> u64 { n }
16
17     let _i: i8 = -128;
18     let j = -128;
19     id_i8(j);
20     id_i8(-128);
21
22     let _i: i16 = -32_768;
23     let j = -32_768;
24     id_i16(j);
25     id_i16(-32_768);
26
27     let _i: i32 = -2_147_483_648;
28     let j = -2_147_483_648;
29     id_i32(j);
30     id_i32(-2_147_483_648);
31
32     let _i: i64 = -9_223_372_036_854_775_808;
33     let j = -9_223_372_036_854_775_808;
34     id_i64(j);
35     id_i64(-9_223_372_036_854_775_808);
36
37     let _i: uint = 1;
38     let j = 1;
39     id_uint(j);
40     id_uint(1);
41
42     let _i: u8 = 255;
43     let j = 255;
44     id_u8(j);
45     id_u8(255);
46
47     let _i: u16 = 65_535;
48     let j = 65_535;
49     id_u16(j);
50     id_u16(65_535);
51
52     let _i: u32 = 4_294_967_295;
53     let j = 4_294_967_295;
54     id_u32(j);
55     id_u32(4_294_967_295);
56
57     let _i: u64 = 18_446_744_073_709_551_615;
58     let j = 18_446_744_073_709_551_615;
59     id_u64(j);
60     id_u64(18_446_744_073_709_551_615);
61 }