1// run-rustfix 2 3fn foo<N>(_x: N) {} 4//~^ NOTE function defined here 5//~| NOTE function defined here 6//~| NOTE function defined here 7//~| NOTE function defined here 8//~| NOTE function defined here 9//~| NOTE function defined here 10//~| NOTE function defined here 11//~| NOTE function defined here 12//~| NOTE function defined here 13//~| NOTE function defined here 14//~| NOTE function defined here 15//~| NOTE function defined here 16//~| NOTE function defined here 17//~| NOTE function defined here 18//~| NOTE function defined here 19//~| NOTE function defined here 20//~| NOTE function defined here 21//~| NOTE function defined here 22//~| NOTE function defined here 23//~| NOTE function defined here 24//~| NOTE function defined here 25//~| NOTE function defined here 26//~| NOTE function defined here 27//~| NOTE function defined here 28//~| NOTE function defined here 29//~| NOTE function defined here 30//~| NOTE function defined here 31//~| NOTE function defined here 32//~| NOTE function defined here 33//~| NOTE function defined here 34//~| NOTE function defined here 35//~| NOTE function defined here 36//~| NOTE function defined here 37//~| NOTE function defined here 38//~| NOTE function defined here 39//~| NOTE function defined here 40//~| NOTE function defined here 41//~| NOTE function defined here 42//~| NOTE function defined here 43//~| NOTE function defined here 44//~| NOTE function defined here 45//~| NOTE function defined here 46//~| NOTE function defined here 47//~| NOTE function defined here 48//~| NOTE function defined here 49//~| NOTE function defined here 50//~| NOTE function defined here 51//~| NOTE function defined here 52//~| NOTE function defined here 53//~| NOTE function defined here 54//~| NOTE function defined here 55//~| NOTE function defined here 56//~| NOTE function defined here 57//~| NOTE function defined here 58//~| NOTE function defined here 59//~| NOTE function defined here 60//~| NOTE function defined here 61//~| NOTE function defined here 62//~| NOTE function defined here 63//~| NOTE function defined here 64//~| NOTE function defined here 65//~| NOTE function defined here 66//~| NOTE function defined here 67//~| NOTE function defined here 68//~| NOTE function defined here 69//~| NOTE function defined here 70//~| NOTE function defined here 71//~| NOTE function defined here 72//~| NOTE 73//~| NOTE 74//~| NOTE 75//~| NOTE 76//~| NOTE 77//~| NOTE 78//~| NOTE 79//~| NOTE 80//~| NOTE 81//~| NOTE 82//~| NOTE 83//~| NOTE 84//~| NOTE 85//~| NOTE 86//~| NOTE 87//~| NOTE 88//~| NOTE 89//~| NOTE 90//~| NOTE 91//~| NOTE 92//~| NOTE 93//~| NOTE 94//~| NOTE 95//~| NOTE 96//~| NOTE 97//~| NOTE 98//~| NOTE 99//~| NOTE 100//~| NOTE 101//~| NOTE 102//~| NOTE 103//~| NOTE 104//~| NOTE 105//~| NOTE 106//~| NOTE 107//~| NOTE 108//~| NOTE 109//~| NOTE 110//~| NOTE 111//~| NOTE 112//~| NOTE 113//~| NOTE 114//~| NOTE 115//~| NOTE 116//~| NOTE 117//~| NOTE 118//~| NOTE 119//~| NOTE 120//~| NOTE 121//~| NOTE 122//~| NOTE 123//~| NOTE 124//~| NOTE 125//~| NOTE 126//~| NOTE 127//~| NOTE 128//~| NOTE 129//~| NOTE 130//~| NOTE 131//~| NOTE 132//~| NOTE 133//~| NOTE 134//~| NOTE 135//~| NOTE 136//~| NOTE 137//~| NOTE 138//~| NOTE 139//~| NOTE 140 141 142fn main() { 143 foo::<u16>(42_u16); 144 //~^ ERROR mismatched types 145 //~| NOTE expected 146 //~| NOTE arguments 147 foo::<u16>(42_u16); 148 //~^ ERROR mismatched types 149 //~| NOTE expected 150 //~| NOTE arguments 151 foo::<u16>(42_u16); 152 //~^ ERROR mismatched types 153 //~| NOTE expected 154 //~| NOTE arguments 155 foo::<u16>(42_u16); 156 foo::<u16>(42_u16); 157 //~^ ERROR mismatched types 158 //~| NOTE expected 159 //~| NOTE arguments 160 foo::<u16>(42_u16); 161 //~^ ERROR mismatched types 162 //~| NOTE expected 163 //~| NOTE arguments 164 foo::<u16>(42_u16); 165 //~^ ERROR mismatched types 166 //~| NOTE expected 167 //~| NOTE arguments 168 foo::<u16>(42_u16); 169 //~^ ERROR mismatched types 170 //~| NOTE expected 171 //~| NOTE arguments 172 foo::<u16>(42_u16); 173 //~^ ERROR mismatched types 174 //~| NOTE expected 175 //~| NOTE arguments 176 foo::<u16>(42_u16); 177 //~^ ERROR mismatched types 178 //~| NOTE expected 179 //~| NOTE arguments 180 foo::<u16>(42u16); 181 //~^ ERROR mismatched types 182 //~| NOTE expected 183 //~| NOTE arguments 184 foo::<u16>(42u16); 185 //~^ ERROR mismatched types 186 //~| NOTE expected 187 //~| NOTE arguments 188 189 foo::<i16>(42_i16); 190 //~^ ERROR mismatched types 191 //~| NOTE expected 192 //~| NOTE arguments 193 foo::<i16>(42_i16); 194 //~^ ERROR mismatched types 195 //~| NOTE expected 196 //~| NOTE arguments 197 foo::<i16>(42_i16); 198 //~^ ERROR mismatched types 199 //~| NOTE expected 200 //~| NOTE arguments 201 foo::<i16>(42_i16); 202 //~^ ERROR mismatched types 203 //~| NOTE expected 204 //~| NOTE arguments 205 foo::<i16>(42_i16); 206 //~^ ERROR mismatched types 207 //~| NOTE expected 208 //~| NOTE arguments 209 foo::<i16>(42_i16); 210 //~^ ERROR mismatched types 211 //~| NOTE expected 212 //~| NOTE arguments 213 foo::<i16>(42_i16); 214 //~^ ERROR mismatched types 215 //~| NOTE expected 216 //~| NOTE arguments 217 foo::<i16>(42_i16); 218 //~^ ERROR mismatched types 219 //~| NOTE expected 220 //~| NOTE arguments 221 foo::<i16>(42_i16); 222 foo::<i16>(42_i16); 223 //~^ ERROR mismatched types 224 //~| NOTE expected 225 //~| NOTE arguments 226 foo::<i16>(42i16); 227 //~^ ERROR mismatched types 228 //~| NOTE expected 229 //~| NOTE arguments 230 foo::<i16>(42i16); 231 //~^ ERROR mismatched types 232 //~| NOTE expected 233 //~| NOTE arguments 234 235 foo::<u8>(42_u8); 236 //~^ ERROR mismatched types 237 //~| NOTE expected 238 //~| NOTE arguments 239 foo::<u8>(42_u8); 240 //~^ ERROR mismatched types 241 //~| NOTE expected 242 //~| NOTE arguments 243 foo::<u8>(42_u8); 244 //~^ ERROR mismatched types 245 //~| NOTE expected 246 //~| NOTE arguments 247 foo::<u8>(42_u8); 248 //~^ ERROR mismatched types 249 //~| NOTE expected 250 //~| NOTE arguments 251 foo::<u8>(42_u8); 252 foo::<u8>(42_u8); 253 //~^ ERROR mismatched types 254 //~| NOTE expected 255 //~| NOTE arguments 256 foo::<u8>(42_u8); 257 //~^ ERROR mismatched types 258 //~| NOTE expected 259 //~| NOTE arguments 260 foo::<u8>(42_u8); 261 //~^ ERROR mismatched types 262 //~| NOTE expected 263 //~| NOTE arguments 264 foo::<u8>(42_u8); 265 //~^ ERROR mismatched types 266 //~| NOTE expected 267 //~| NOTE arguments 268 foo::<u8>(42_u8); 269 //~^ ERROR mismatched types 270 //~| NOTE expected 271 //~| NOTE arguments 272 foo::<u8>(42u8); 273 //~^ ERROR mismatched types 274 //~| NOTE expected 275 //~| NOTE arguments 276 foo::<u8>(42u8); 277 //~^ ERROR mismatched types 278 //~| NOTE expected 279 //~| NOTE arguments 280 281 foo::<i8>(42_i8); 282 //~^ ERROR mismatched types 283 //~| NOTE expected 284 //~| NOTE arguments 285 foo::<i8>(42_i8); 286 //~^ ERROR mismatched types 287 //~| NOTE expected 288 //~| NOTE arguments 289 foo::<i8>(42_i8); 290 //~^ ERROR mismatched types 291 //~| NOTE expected 292 //~| NOTE arguments 293 foo::<i8>(42_i8); 294 //~^ ERROR mismatched types 295 //~| NOTE expected 296 //~| NOTE arguments 297 foo::<i8>(42_i8); 298 //~^ ERROR mismatched types 299 //~| NOTE expected 300 //~| NOTE arguments 301 foo::<i8>(42_i8); 302 //~^ ERROR mismatched types 303 //~| NOTE expected 304 //~| NOTE arguments 305 foo::<i8>(42_i8); 306 //~^ ERROR mismatched types 307 //~| NOTE expected 308 //~| NOTE arguments 309 foo::<i8>(42_i8); 310 //~^ ERROR mismatched types 311 //~| NOTE expected 312 //~| NOTE arguments 313 foo::<i8>(42_i8); 314 //~^ ERROR mismatched types 315 //~| NOTE expected 316 //~| NOTE arguments 317 foo::<i8>(42_i8); 318 foo::<i8>(42i8); 319 //~^ ERROR mismatched types 320 //~| NOTE expected 321 //~| NOTE arguments 322 foo::<i8>(42i8); 323 //~^ ERROR mismatched types 324 //~| NOTE expected 325 //~| NOTE arguments 326 327 foo::<f64>(42_f64); 328 //~^ ERROR mismatched types 329 //~| NOTE expected 330 //~| NOTE arguments 331 foo::<f64>(42_f64); 332 //~^ ERROR mismatched types 333 //~| NOTE expected 334 //~| NOTE arguments 335 foo::<f64>(42_u32.into()); 336 //~^ ERROR mismatched types 337 //~| NOTE expected 338 //~| NOTE arguments 339 foo::<f64>(42_u16.into()); 340 //~^ ERROR mismatched types 341 //~| NOTE expected 342 //~| NOTE arguments 343 foo::<f64>(42_u8.into()); 344 //~^ ERROR mismatched types 345 //~| NOTE expected 346 //~| NOTE arguments 347 foo::<f64>(42_f64); 348 //~^ ERROR mismatched types 349 //~| NOTE expected 350 //~| NOTE arguments 351 foo::<f64>(42_f64); 352 //~^ ERROR mismatched types 353 //~| NOTE expected 354 //~| NOTE arguments 355 foo::<f64>(42_i32.into()); 356 //~^ ERROR mismatched types 357 //~| NOTE expected 358 //~| NOTE arguments 359 foo::<f64>(42_i16.into()); 360 //~^ ERROR mismatched types 361 //~| NOTE expected 362 //~| NOTE arguments 363 foo::<f64>(42_i8.into()); 364 //~^ ERROR mismatched types 365 //~| NOTE expected 366 //~| NOTE arguments 367 foo::<f64>(42.0_f64); 368 foo::<f64>(42.0_f64); 369 //~^ ERROR mismatched types 370 //~| NOTE expected 371 //~| NOTE arguments 372 373 foo::<f32>(42_f32); 374 //~^ ERROR mismatched types 375 //~| NOTE expected 376 //~| NOTE arguments 377 foo::<f32>(42_f32); 378 //~^ ERROR mismatched types 379 //~| NOTE expected 380 //~| NOTE arguments 381 foo::<f32>(42_f32); 382 //~^ ERROR mismatched types 383 //~| NOTE expected 384 //~| NOTE arguments 385 foo::<f32>(42_u16.into()); 386 //~^ ERROR mismatched types 387 //~| NOTE expected 388 //~| NOTE arguments 389 foo::<f32>(42_u8.into()); 390 //~^ ERROR mismatched types 391 //~| NOTE expected 392 //~| NOTE arguments 393 foo::<f32>(42_f32); 394 //~^ ERROR mismatched types 395 //~| NOTE expected 396 //~| NOTE arguments 397 foo::<f32>(42_f32); 398 //~^ ERROR mismatched types 399 //~| NOTE expected 400 //~| NOTE arguments 401 foo::<f32>(42_f32); 402 //~^ ERROR mismatched types 403 //~| NOTE expected 404 //~| NOTE arguments 405 foo::<f32>(42_i16.into()); 406 //~^ ERROR mismatched types 407 //~| NOTE expected 408 //~| NOTE arguments 409 foo::<f32>(42_i8.into()); 410 //~^ ERROR mismatched types 411 //~| NOTE expected 412 //~| NOTE arguments 413 foo::<f32>(42.0_f32); 414 //~^ ERROR mismatched types 415 //~| NOTE expected 416 //~| NOTE arguments 417 foo::<f32>(42.0_f32); 418 419 foo::<u32>((42_u8 as u16).into()); 420 //~^ ERROR mismatched types 421 //~| NOTE expected 422 //~| NOTE arguments 423 foo::<i32>((-42_i8).into()); 424 //~^ ERROR mismatched types 425 //~| NOTE expected 426 //~| NOTE arguments 427} 428