summary refs log tree commit diff
path: root/src/test/ui/consts/const-eval/promoted_errors.rs
blob: 22f863fb15ac4ab887c4b6098d1592e5c68b33a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// build-pass
// ignore-pass (emit codegen-time warnings and verify that they are indeed warnings and not errors)
// compile-flags: -O

#![warn(const_err)]

fn main() {
    println!("{}", 0u32 - 1);
    let _x = 0u32 - 1;
    //~^ WARN const_err
    println!("{}", 1 / (1 - 1));
    //~^ WARN attempt to divide by zero [const_err]
    //~| WARN const_err
    //~| WARN erroneous constant used [const_err]
    let _x = 1 / (1 - 1);
    //~^ WARN const_err
    println!("{}", 1 / (false as u32));
    //~^ WARN attempt to divide by zero [const_err]
    //~| WARN const_err
    //~| WARN erroneous constant used [const_err]
    let _x = 1 / (false as u32);
    //~^ WARN const_err
}