Files
rust/tests/ui/unnecessary_path_debug_formatting.rs

44 lines
1.2 KiB
Rust

#![warn(clippy::unnecessary_debug_formatting)]
use std::ffi::{OsStr, OsString};
use std::ops::Deref;
use std::path::{Path, PathBuf};
struct DerefPath<'a> {
path: &'a Path,
}
impl Deref for DerefPath<'_> {
type Target = Path;
fn deref(&self) -> &Self::Target {
self.path
}
}
fn main() {
let path = Path::new("/a/b/c");
let path_buf = path.to_path_buf();
let os_str = OsStr::new("abc");
let os_string = os_str.to_os_string();
// negative tests
println!("{}", path.display());
println!("{}", path_buf.display());
// positive tests
println!("{:?}", os_str); //~ unnecessary_debug_formatting
println!("{:?}", os_string); //~ unnecessary_debug_formatting
println!("{:?}", path); //~ unnecessary_debug_formatting
println!("{:?}", path_buf); //~ unnecessary_debug_formatting
println!("{path:?}"); //~ unnecessary_debug_formatting
println!("{path_buf:?}"); //~ unnecessary_debug_formatting
let _: String = format!("{:?}", path); //~ unnecessary_debug_formatting
let _: String = format!("{:?}", path_buf); //~ unnecessary_debug_formatting
let deref_path = DerefPath { path };
println!("{:?}", &*deref_path); //~ unnecessary_debug_formatting
}