You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The new trivial_numeric_casts lint incorrectly warns when casting between two types that happen to be type aliases. This is incorrect because the types may not actually be type aliases under all build configurations. Case in point, libc::c_long is i32 on some architectures and i64 on others. If I believe the trivial_numeric_casts warning when casting from an i64 to a libc::c_long, that breaks compilation on 32-bit architectures.
#![feature(libc)]externcrate libc;fnmain(){let x:i64 = 1;let _y = x as libc::c_long;// ^~~~~~~~~~~~~~~~~// warning: trivial numeric cast: `i64` as `i64`, #[warn(trivial_numeric_casts)] on by default}