blob: 1ed0f5b3ac598a111b410cabdb7f3e96590c160e [file] [log] [blame]
#![warn(clippy::format_push_string)]
fn main() {
use std::fmt::Write;
let mut string = String::new();
string += &format!("{:?}", 1234);
//~^ format_push_string
string.push_str(&format!("{:?}", 5678));
//~^ format_push_string
macro_rules! string {
() => {
String::new()
};
}
string!().push_str(&format!("{:?}", 5678));
//~^ format_push_string
}
// TODO: recognize the already imported `fmt::Write`, and don't add a note suggesting to import it
// again
mod import_write {
mod push_str {
mod imported_anonymously {
fn main(string: &mut String) {
use std::fmt::Write as _;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported {
fn main(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_anonymously_in_module {
use std::fmt::Write as _;
fn main(string: &mut String) {
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_in_module {
use std::fmt::Write;
fn main(string: &mut String) {
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_and_imported {
fn foo(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
fn bar(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
}
mod add_assign {
mod imported_anonymously {
fn main(string: &mut String) {
use std::fmt::Write as _;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported {
fn main(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_anonymously_in_module {
use std::fmt::Write as _;
fn main(string: &mut String) {
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_in_module {
use std::fmt::Write;
fn main(string: &mut String) {
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
mod imported_and_imported {
fn foo(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
fn bar(string: &mut String) {
use std::fmt::Write;
string.push_str(&format!("{:?}", 1234));
//~^ format_push_string
}
}
}
}