summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/rfc-2383-lint-reason/catch_multiple_lint_triggers.rs
blob: 6b255b799b7ecfab17667c5fa8c47f89a17dc9ce (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
// check-pass

#![feature(lint_reasons)]

#![warn(unused)]

// This expect attribute should catch all lint triggers
#[expect(unused_variables)]
fn check_multiple_lints_1() {
    let value_i = 0xff00ff;
    let value_ii = 0xff00ff;
    let value_iii = 0xff00ff;
    let value_iiii = 0xff00ff;
    let value_iiiii = 0xff00ff;
}

// This expect attribute should catch all lint triggers
#[expect(unused_mut)]
fn check_multiple_lints_2() {
    let mut a = 0xa;
    let mut b = 0xb;
    let mut c = 0xc;
    println!("The ABC goes as: {:#x} {:#x} {:#x}", a, b, c);
}

// This expect attribute should catch all lint triggers
#[expect(while_true)]
fn check_multiple_lints_3() {
    // `while_true` is an early lint
    while true {}

    while true {}

    while true {}

    while true {}

    while true {}
}

fn main() {
    check_multiple_lints_1();
    check_multiple_lints_2();
    check_multiple_lints_3();
}