summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs')
-rw-r--r--src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs b/src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs
new file mode 100644
index 000000000..cd83cf6e6
--- /dev/null
+++ b/src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs
@@ -0,0 +1,55 @@
+// run-rustfix
+
+#![allow(unused_imports)]
+
+use std::{i128, i32, u128, u32};
+
+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
+}