error[E0308]: mismatched types --> $DIR/numeric-cast-2.rs:15:18 | LL | let x: u16 = foo(); | ^^^^^ expected u16, found i32 error[E0308]: mismatched types --> $DIR/numeric-cast-2.rs:17:18 | LL | let y: i64 = x + x; | ^^^^^ expected i64, found u16 error[E0308]: mismatched types --> $DIR/numeric-cast-2.rs:19:18 | LL | let z: i32 = x + x; | ^^^^^ expected i32, found u16 error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.