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

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
    }
}
