]>
git.proxmox.com Git - rustc.git/blob - tests/ui/numeric/numeric-cast.rs
3 // The `try_into` suggestion doesn't include this, but we do suggest it after applying it
4 use std
::convert
::TryInto
;
9 let x_usize
: usize = 1;
14 let x_isize
: isize = 6;
19 let x_f64
: f64 = 11.0;
20 let x_f32
: f32 = 12.0;
22 foo
::<usize>(x_usize
);
24 //~^ ERROR mismatched types
26 //~^ ERROR mismatched types
28 //~^ ERROR mismatched types
30 //~^ ERROR mismatched types
31 foo
::<usize>(x_isize
);
32 //~^ ERROR mismatched types
34 //~^ ERROR mismatched types
36 //~^ ERROR mismatched types
38 //~^ ERROR mismatched types
40 //~^ ERROR mismatched types
41 // foo::<usize>(x_f64);
42 // foo::<usize>(x_f32);
44 foo
::<isize>(x_usize
);
45 //~^ ERROR mismatched types
47 //~^ ERROR mismatched types
49 //~^ ERROR mismatched types
51 //~^ ERROR mismatched types
53 //~^ ERROR mismatched types
54 foo
::<isize>(x_isize
);
56 //~^ ERROR mismatched types
58 //~^ ERROR mismatched types
60 //~^ ERROR mismatched types
62 //~^ ERROR mismatched types
63 // foo::<isize>(x_f64);
64 // foo::<isize>(x_f32);
67 //~^ ERROR mismatched types
70 //~^ ERROR mismatched types
72 //~^ ERROR mismatched types
74 //~^ ERROR mismatched types
76 //~^ ERROR mismatched types
78 //~^ ERROR mismatched types
80 //~^ ERROR mismatched types
82 //~^ ERROR mismatched types
84 //~^ ERROR mismatched types
89 //~^ ERROR mismatched types
91 //~^ ERROR mismatched types
93 //~^ ERROR mismatched types
95 //~^ ERROR mismatched types
97 //~^ ERROR mismatched types
99 //~^ ERROR mismatched types
102 //~^ ERROR mismatched types
104 //~^ ERROR mismatched types
106 //~^ ERROR mismatched types
107 // foo::<i64>(x_f64);
108 // foo::<i64>(x_f32);
111 //~^ ERROR mismatched types
113 //~^ ERROR mismatched types
116 //~^ ERROR mismatched types
118 //~^ ERROR mismatched types
120 //~^ ERROR mismatched types
122 //~^ ERROR mismatched types
124 //~^ ERROR mismatched types
126 //~^ ERROR mismatched types
128 //~^ ERROR mismatched types
129 // foo::<u32>(x_f64);
130 // foo::<u32>(x_f32);
133 //~^ ERROR mismatched types
135 //~^ ERROR mismatched types
137 //~^ ERROR mismatched types
139 //~^ ERROR mismatched types
141 //~^ ERROR mismatched types
143 //~^ ERROR mismatched types
145 //~^ ERROR mismatched types
148 //~^ ERROR mismatched types
150 //~^ ERROR mismatched types
151 // foo::<i32>(x_f64);
152 // foo::<i32>(x_f32);
155 //~^ ERROR mismatched types
157 //~^ ERROR mismatched types
159 //~^ ERROR mismatched types
162 //~^ ERROR mismatched types
164 //~^ ERROR mismatched types
166 //~^ ERROR mismatched types
168 //~^ ERROR mismatched types
170 //~^ ERROR mismatched types
172 //~^ ERROR mismatched types
173 // foo::<u16>(x_f64);
174 // foo::<u16>(x_f32);
177 //~^ ERROR mismatched types
179 //~^ ERROR mismatched types
181 //~^ ERROR mismatched types
183 //~^ ERROR mismatched types
185 //~^ ERROR mismatched types
187 //~^ ERROR mismatched types
189 //~^ ERROR mismatched types
191 //~^ ERROR mismatched types
194 //~^ ERROR mismatched types
195 // foo::<i16>(x_f64);
196 // foo::<i16>(x_f32);
199 //~^ ERROR mismatched types
201 //~^ ERROR mismatched types
203 //~^ ERROR mismatched types
205 //~^ ERROR mismatched types
208 //~^ ERROR mismatched types
210 //~^ ERROR mismatched types
212 //~^ ERROR mismatched types
214 //~^ ERROR mismatched types
216 //~^ ERROR mismatched types
221 //~^ ERROR mismatched types
223 //~^ ERROR mismatched types
225 //~^ ERROR mismatched types
227 //~^ ERROR mismatched types
229 //~^ ERROR mismatched types
231 //~^ ERROR mismatched types
233 //~^ ERROR mismatched types
235 //~^ ERROR mismatched types
237 //~^ ERROR mismatched types
243 //~^ ERROR mismatched types
245 //~^ ERROR mismatched types
247 //~^ ERROR mismatched types
249 //~^ ERROR mismatched types
251 //~^ ERROR mismatched types
253 //~^ ERROR mismatched types
255 //~^ ERROR mismatched types
257 //~^ ERROR mismatched types
259 //~^ ERROR mismatched types
261 //~^ ERROR mismatched types
264 //~^ ERROR mismatched types
267 //~^ ERROR mismatched types
269 //~^ ERROR mismatched types
271 //~^ ERROR mismatched types
273 //~^ ERROR mismatched types
275 //~^ ERROR mismatched types
277 //~^ ERROR mismatched types
279 //~^ ERROR mismatched types
281 //~^ ERROR mismatched types
283 //~^ ERROR mismatched types
285 //~^ ERROR mismatched types
286 // foo::<f32>(x_f64);
289 foo
::<u32>(x_u8
as u16);
290 //~^ ERROR mismatched types
292 //~^ ERROR mismatched types