#![warn(clippy::println_empty_string)]
#![expect(clippy::match_single_binding, clippy::nonstandard_macro_braces)]

fn main() {
    println!();
    println!();
    //~^ println_empty_string

    match "a" {
        _ => println!(),
        //~^ println_empty_string
    }

    eprintln!();
    eprintln!();
    //~^ println_empty_string

    match "a" {
        _ => eprintln!(),
        //~^ println_empty_string
    }
}

#[rustfmt::skip]
fn issue_16167() {
    //~v println_empty_string
    println!(
        );

    match "a" {
        _ => println!(), // there is a space between "" and comma
        //~^ println_empty_string
    }

    eprintln!(); // there is a tab between "" and comma
    //~^ println_empty_string

    match "a" {
        _ => eprintln!(), // tab and space between "" and comma
        //~^ println_empty_string
    }
}

#[rustfmt::skip]
fn issue_16843() {
    println!{};
    //~^ println_empty_string

    println![];
    //~^ println_empty_string

    eprintln!{};
    //~^ println_empty_string

    eprintln![];
    //~^ println_empty_string

    match "a" {
        _ => println!{},
        //~^ println_empty_string
    }

    match "a" {
        _ => println![],
        //~^ println_empty_string
    }
}
