| #[warn( |
| clippy::cast_precision_loss, |
| clippy::cast_possible_truncation, |
| clippy::cast_sign_loss, |
| clippy::cast_possible_wrap |
| )] |
| #[allow(clippy::no_effect, clippy::unnecessary_operation)] |
| fn main() { |
| // Test clippy::cast_precision_loss |
| let x0 = 1i32; |
| x0 as f32; |
| let x1 = 1i64; |
| x1 as f32; |
| x1 as f64; |
| let x2 = 1u32; |
| x2 as f32; |
| let x3 = 1u64; |
| x3 as f32; |
| x3 as f64; |
| // Test clippy::cast_possible_truncation |
| 1f32 as i32; |
| 1f32 as u32; |
| 1f64 as f32; |
| 1i32 as i8; |
| 1i32 as u8; |
| 1f64 as isize; |
| 1f64 as usize; |
| // Test clippy::cast_possible_wrap |
| 1u8 as i8; |
| 1u16 as i16; |
| 1u32 as i32; |
| 1u64 as i64; |
| 1usize as isize; |
| // Test clippy::cast_sign_loss |
| 1i32 as u32; |
| -1i32 as u32; |
| 1isize as usize; |
| -1isize as usize; |
| 0i8 as u8; |
| i8::MAX as u8; |
| i16::MAX as u16; |
| i32::MAX as u32; |
| i64::MAX as u64; |
| i128::MAX as u128; |
| |
| (-1i8).abs() as u8; |
| (-1i16).abs() as u16; |
| (-1i32).abs() as u32; |
| (-1i64).abs() as u64; |
| (-1isize).abs() as usize; |
| |
| (-1i8).checked_abs().unwrap() as u8; |
| (-1i16).checked_abs().unwrap() as u16; |
| (-1i32).checked_abs().unwrap() as u32; |
| (-1i64).checked_abs().unwrap() as u64; |
| (-1isize).checked_abs().unwrap() as usize; |
| |
| (-1i8).rem_euclid(1i8) as u8; |
| (-1i8).rem_euclid(1i8) as u16; |
| (-1i16).rem_euclid(1i16) as u16; |
| (-1i16).rem_euclid(1i16) as u32; |
| (-1i32).rem_euclid(1i32) as u32; |
| (-1i32).rem_euclid(1i32) as u64; |
| (-1i64).rem_euclid(1i64) as u64; |
| (-1i64).rem_euclid(1i64) as u128; |
| (-1isize).rem_euclid(1isize) as usize; |
| (1i8).rem_euclid(-1i8) as u8; |
| (1i8).rem_euclid(-1i8) as u16; |
| (1i16).rem_euclid(-1i16) as u16; |
| (1i16).rem_euclid(-1i16) as u32; |
| (1i32).rem_euclid(-1i32) as u32; |
| (1i32).rem_euclid(-1i32) as u64; |
| (1i64).rem_euclid(-1i64) as u64; |
| (1i64).rem_euclid(-1i64) as u128; |
| (1isize).rem_euclid(-1isize) as usize; |
| |
| (-1i8).checked_rem_euclid(1i8).unwrap() as u8; |
| (-1i8).checked_rem_euclid(1i8).unwrap() as u16; |
| (-1i16).checked_rem_euclid(1i16).unwrap() as u16; |
| (-1i16).checked_rem_euclid(1i16).unwrap() as u32; |
| (-1i32).checked_rem_euclid(1i32).unwrap() as u32; |
| (-1i32).checked_rem_euclid(1i32).unwrap() as u64; |
| (-1i64).checked_rem_euclid(1i64).unwrap() as u64; |
| (-1i64).checked_rem_euclid(1i64).unwrap() as u128; |
| (-1isize).checked_rem_euclid(1isize).unwrap() as usize; |
| (1i8).checked_rem_euclid(-1i8).unwrap() as u8; |
| (1i8).checked_rem_euclid(-1i8).unwrap() as u16; |
| (1i16).checked_rem_euclid(-1i16).unwrap() as u16; |
| (1i16).checked_rem_euclid(-1i16).unwrap() as u32; |
| (1i32).checked_rem_euclid(-1i32).unwrap() as u32; |
| (1i32).checked_rem_euclid(-1i32).unwrap() as u64; |
| (1i64).checked_rem_euclid(-1i64).unwrap() as u64; |
| (1i64).checked_rem_euclid(-1i64).unwrap() as u128; |
| (1isize).checked_rem_euclid(-1isize).unwrap() as usize; |
| } |