summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/manual_saturating_arithmetic.rs
blob: cd83cf6e65e9403b0ac0b8703f5f448293e0a975 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
}