summary refs log tree commit diff
path: root/src/test/ui/consts/const-eval/promoted_errors2.rs
blob: 7adb394144bdd93bc5eea640da8fdd8c3d0a3178 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// compile-flags: -C overflow-checks=on -O

#![deny(const_err)]

fn main() {
    println!("{}", 0u32 - 1);
    //~^ ERROR attempt to subtract with overflow
    let _x = 0u32 - 1;
    //~^ ERROR attempt to subtract with overflow
    println!("{}", 1/(1-1));
    //~^ ERROR attempt to divide by zero [const_err]
    //~| ERROR reaching this expression at runtime will panic or abort [const_err]
    let _x = 1/(1-1);
    //~^ ERROR const_err
    //~| ERROR const_err
    println!("{}", 1/(false as u32));
    //~^ ERROR attempt to divide by zero [const_err]
    //~| ERROR reaching this expression at runtime will panic or abort [const_err]
    let _x = 1/(false as u32);
    //~^ ERROR const_err
    //~| ERROR const_err
}