RS.CLIPPY.UNUSED_TRAIT_NAMES
Use items that import a trait but only use it anonymously
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: unused_trait_names. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for use Trait where the Trait is only used for its methods and not referenced by a path directly.
Why is this bad?
Traits imported that aren't used directly can be imported anonymously with use Trait as _.
It is more explicit, avoids polluting the current scope with unused names and can be useful to show which imports are required for traits.
Example
use std::fmt::Write;
fn main() {
let mut s = String::new();
let _ = write!(s, "hello, world!");
println!("{s}");
}
Use instead:
use std::fmt::Write as _;
fn main() {
let mut s = String::new();
let _ = write!(s, "hello, world!");
println!("{s}");
}
Configuration
-
msrv: The minimum rust version that the project supports. Defaults to therust-versionfield inCargo.toml(default:
current version)