1 // Copyright 2012 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.
13 // the smallest positive values that need these types
16 let a32: i32 = 32_768;
17 let a64: i64 = 2_147_483_648;
19 // the smallest negative values that need these types
22 let c32: i32 = -32_769;
23 let c64: i64 = -2_147_483_649;
25 fn id_i8(n: i8) -> i8 { n }
26 fn id_i16(n: i16) -> i16 { n }
27 fn id_i32(n: i32) -> i32 { n }
28 fn id_i64(n: i64) -> i64 { n }
30 // the smallest values that need these types
33 let b32: u32 = 65_536;
34 let b64: u64 = 4_294_967_296;
36 fn id_u8(n: u8) -> u8 { n }
37 fn id_u16(n: u16) -> u16 { n }
38 fn id_u32(n: u32) -> u32 { n }
39 fn id_u64(n: u64) -> u64 { n }
43 //~^ ERROR mismatched types
44 //~| expected i8, found i16
46 //~^ ERROR mismatched types
47 //~| expected i8, found i32
49 //~^ ERROR mismatched types
50 //~| expected i8, found i64
53 //~^ ERROR mismatched types
54 //~| expected i16, found i8
57 //~^ ERROR mismatched types
58 //~| expected i16, found i32
60 //~^ ERROR mismatched types
61 //~| expected i16, found i64
64 //~^ ERROR mismatched types
65 //~| expected i32, found i8
67 //~^ ERROR mismatched types
68 //~| expected i32, found i16
71 //~^ ERROR mismatched types
72 //~| expected i32, found i64
75 //~^ ERROR mismatched types
76 //~| expected i64, found i8
78 //~^ ERROR mismatched types
79 //~| expected i64, found i16
81 //~^ ERROR mismatched types
82 //~| expected i64, found i32
87 //~^ ERROR mismatched types
88 //~| expected i8, found i16
90 //~^ ERROR mismatched types
91 //~| expected i8, found i32
93 //~^ ERROR mismatched types
94 //~| expected i8, found i64
97 //~^ ERROR mismatched types
98 //~| expected i16, found i8
101 //~^ ERROR mismatched types
102 //~| expected i16, found i32
104 //~^ ERROR mismatched types
105 //~| expected i16, found i64
108 //~^ ERROR mismatched types
109 //~| expected i32, found i8
111 //~^ ERROR mismatched types
112 //~| expected i32, found i16
115 //~^ ERROR mismatched types
116 //~| expected i32, found i64
119 //~^ ERROR mismatched types
120 //~| expected i64, found i8
122 //~^ ERROR mismatched types
123 //~| expected i64, found i16
125 //~^ ERROR mismatched types
126 //~| expected i64, found i32
131 //~^ ERROR mismatched types
132 //~| expected u8, found u16
134 //~^ ERROR mismatched types
135 //~| expected u8, found u32
137 //~^ ERROR mismatched types
138 //~| expected u8, found u64
141 //~^ ERROR mismatched types
142 //~| expected u16, found u8
145 //~^ ERROR mismatched types
146 //~| expected u16, found u32
148 //~^ ERROR mismatched types
149 //~| expected u16, found u64
152 //~^ ERROR mismatched types
153 //~| expected u32, found u8
155 //~^ ERROR mismatched types
156 //~| expected u32, found u16
159 //~^ ERROR mismatched types
160 //~| expected u32, found u64
163 //~^ ERROR mismatched types
164 //~| expected u64, found u8
166 //~^ ERROR mismatched types
167 //~| expected u64, found u16
169 //~^ ERROR mismatched types
170 //~| expected u64, found u32