about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/useless_concat.fixed
blob: 360b6f6ce82ee5837545ff694a61533d57d5053b (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
//@aux-build:proc_macros.rs

#![warn(clippy::useless_concat)]
#![allow(clippy::print_literal)]

extern crate proc_macros;
use proc_macros::{external, with_span};

macro_rules! my_concat {
    ($fmt:literal $(, $e:expr)*) => {
        println!(concat!("ERROR: ", $fmt), $($e,)*);
    }
}

fn main() {
    let x = ""; //~ useless_concat
    let x = "c"; //~ useless_concat
    let x = "\""; //~ useless_concat
    let x = "true"; //~ useless_concat
    let x = "1"; //~ useless_concat
    let x = "1.0000"; //~ useless_concat
    let x = "1"; //~ useless_concat
    let x = "1"; //~ useless_concat
    let x = "1.0000"; //~ useless_concat
    let x = "1.0000"; //~ useless_concat
    let x = "a😀\n"; //~ useless_concat
    let x = "a"; //~ useless_concat
    let x = "1"; //~ useless_concat
    println!("b: {}", "a"); //~ useless_concat
    // Should not lint.
    let x = concat!("a", "b");
    let local_i32 = 1;
    my_concat!("{}", local_i32);
    let x = concat!(file!(), "#L", line!());

    external! { concat!(); }
    with_span! {
        span
        concat!();
    }
}