about summary refs log tree commit diff
path: root/tests/ui/panic.rs
blob: 6e004aa9a924ffff0d7160eec504a5140051c4b0 (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
56
57
58
59
60
61
#![warn(clippy::panic_params)]
#![allow(clippy::assertions_on_constants)]
fn missing() {
    if true {
        panic!("{}");
    } else if false {
        panic!("{:?}");
    } else {
        assert!(true, "here be missing values: {}");
    }

    panic!("{{{this}}}");
}

fn ok_single() {
    panic!("foo bar");
}

fn ok_inner() {
    // Test for #768
    assert!("foo bar".contains(&format!("foo {}", "bar")));
}

fn ok_multiple() {
    panic!("{}", "This is {ok}");
}

fn ok_bracket() {
    match 42 {
        1337 => panic!("{so is this"),
        666 => panic!("so is this}"),
        _ => panic!("}so is that{"),
    }
}

const ONE: u32 = 1;

fn ok_nomsg() {
    assert!({ 1 == ONE });
    assert!(if 1 == ONE { ONE == 1 } else { false });
}

fn ok_escaped() {
    panic!("{{ why should this not be ok? }}");
    panic!(" or {{ that ?");
    panic!(" or }} this ?");
    panic!(" {or {{ that ?");
    panic!(" }or }} this ?");
    panic!("{{ test }");
    panic!("{case }}");
}

fn main() {
    missing();
    ok_single();
    ok_multiple();
    ok_bracket();
    ok_inner();
    ok_nomsg();
    ok_escaped();
}