rust/tests/ui/manual_saturating_arithmetic.rs

54 lines
2.2 KiB
Rust
Raw Normal View History

#![allow(clippy::legacy_numeric_constants, unused_imports)]
2019-09-04 02:08:48 -05:00
2024-09-22 13:42:10 -05:00
use std::{i32, i128, u32, u128};
2019-09-04 02:08:48 -05:00
fn main() {
let _ = 1u32.checked_add(1).unwrap_or(u32::max_value());
let _ = 1u32.checked_add(1).unwrap_or(u32::MAX);
let _ = 1u8.checked_add(1).unwrap_or(255);
let _ = 1u128
.checked_add(1)
.unwrap_or(340_282_366_920_938_463_463_374_607_431_768_211_455);
let _ = 1u32.checked_add(1).unwrap_or(1234); // ok
let _ = 1u8.checked_add(1).unwrap_or(0); // ok
let _ = 1u32.checked_mul(1).unwrap_or(u32::MAX);
let _ = 1u32.checked_sub(1).unwrap_or(u32::min_value());
let _ = 1u32.checked_sub(1).unwrap_or(u32::MIN);
let _ = 1u8.checked_sub(1).unwrap_or(0);
let _ = 1u32.checked_sub(1).unwrap_or(1234); // ok
let _ = 1u8.checked_sub(1).unwrap_or(255); // ok
let _ = 1i32.checked_add(1).unwrap_or(i32::max_value());
let _ = 1i32.checked_add(1).unwrap_or(i32::MAX);
let _ = 1i8.checked_add(1).unwrap_or(127);
let _ = 1i128
.checked_add(1)
.unwrap_or(170_141_183_460_469_231_731_687_303_715_884_105_727);
let _ = 1i32.checked_add(-1).unwrap_or(i32::min_value());
let _ = 1i32.checked_add(-1).unwrap_or(i32::MIN);
let _ = 1i8.checked_add(-1).unwrap_or(-128);
let _ = 1i128
.checked_add(-1)
.unwrap_or(-170_141_183_460_469_231_731_687_303_715_884_105_728);
let _ = 1i32.checked_add(1).unwrap_or(1234); // ok
let _ = 1i8.checked_add(1).unwrap_or(-128); // ok
let _ = 1i8.checked_add(-1).unwrap_or(127); // ok
let _ = 1i32.checked_sub(1).unwrap_or(i32::min_value());
let _ = 1i32.checked_sub(1).unwrap_or(i32::MIN);
let _ = 1i8.checked_sub(1).unwrap_or(-128);
let _ = 1i128
.checked_sub(1)
.unwrap_or(-170_141_183_460_469_231_731_687_303_715_884_105_728);
let _ = 1i32.checked_sub(-1).unwrap_or(i32::max_value());
let _ = 1i32.checked_sub(-1).unwrap_or(i32::MAX);
let _ = 1i8.checked_sub(-1).unwrap_or(127);
let _ = 1i128
.checked_sub(-1)
.unwrap_or(170_141_183_460_469_231_731_687_303_715_884_105_727);
let _ = 1i32.checked_sub(1).unwrap_or(1234); // ok
let _ = 1i8.checked_sub(1).unwrap_or(127); // ok
let _ = 1i8.checked_sub(-1).unwrap_or(-128); // ok
}