summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/unused_format_specs_unfixable.rs
blob: be991935366fe64685c1b5ac6dfcdaca7dc2eec5 (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
#![warn(clippy::unused_format_specs)]
#![allow(unused)]
//@no-rustfix
macro_rules! format_args_from_macro {
    () => {
        format_args!("from macro")
    };
}

fn main() {
    // prints `.`, not `     .`
    println!("{:5}.", format_args!(""));
    //~^ ERROR: format specifiers have no effect on `format_args!()`
    //~| NOTE: `-D clippy::unused-format-specs` implied by `-D warnings`
    //prints `abcde`, not `abc`
    println!("{:.3}", format_args!("abcde"));
    //~^ ERROR: format specifiers have no effect on `format_args!()`

    println!("{:5}.", format_args_from_macro!());
    //~^ ERROR: format specifiers have no effect on `format_args!()`

    let args = format_args!("");
    println!("{args:5}");
    //~^ ERROR: format specifiers have no effect on `format_args!()`
}

fn should_not_lint() {
    println!("{}", format_args!(""));
    // Technically the same as `{}`, but the `format_args` docs specifically mention that you can use
    // debug formatting so allow it
    println!("{:?}", format_args!(""));

    let args = format_args!("");
    println!("{args}");
}