### What it does Checks for use of `println`, `print`, `eprintln` or `eprint` in an implementation of a formatting trait. ### Why is this bad? Using a print macro is likely unintentional since formatting traits should write to the `Formatter`, not stdout/stderr. ### Example ``` use std::fmt::{Display, Error, Formatter}; struct S; impl Display for S { fn fmt(&self, f: &mut Formatter) -> Result<(), Error> { println!("S"); Ok(()) } } ``` Use instead: ``` use std::fmt::{Display, Error, Formatter}; struct S; impl Display for S { fn fmt(&self, f: &mut Formatter) -> Result<(), Error> { writeln!(f, "S"); Ok(()) } } ```