#![warn(clippy::dbg_macro)] #![allow(clippy::unnecessary_operation, clippy::no_effect, clippy::unit_arg)] fn foo(n: u32) -> u32 { if let Some(n) = n.checked_sub(4) { n } else { n } //~^ ERROR: the `dbg!` macro is intended as a debugging tool } fn bar(_: ()) {} fn factorial(n: u32) -> u32 { if n <= 1 { //~^ ERROR: the `dbg!` macro is intended as a debugging tool 1 //~^ ERROR: the `dbg!` macro is intended as a debugging tool } else { n * factorial(n - 1) //~^ ERROR: the `dbg!` macro is intended as a debugging tool } } fn main() { 42; //~^ ERROR: the `dbg!` macro is intended as a debugging tool foo(3) + factorial(4); //~^ ERROR: the `dbg!` macro is intended as a debugging tool (1, 2, 3, 4, 5); //~^ ERROR: the `dbg!` macro is intended as a debugging tool } fn issue9914() { macro_rules! foo { ($x:expr) => { $x; }; } macro_rules! foo2 { ($x:expr) => { $x; }; } macro_rules! expand_to_dbg { () => { //~^ ERROR: the `dbg!` macro is intended as a debugging tool }; } //~^ ERROR: the `dbg!` macro is intended as a debugging tool #[allow(clippy::let_unit_value)] let _ = (); //~^ ERROR: the `dbg!` macro is intended as a debugging tool bar(()); //~^ ERROR: the `dbg!` macro is intended as a debugging tool foo!(()); //~^ ERROR: the `dbg!` macro is intended as a debugging tool foo2!(foo!(())); //~^ ERROR: the `dbg!` macro is intended as a debugging tool expand_to_dbg!(); } mod issue7274 { trait Thing<'b> { fn foo(&self); } macro_rules! define_thing { ($thing:ident, $body:expr) => { impl<'a> Thing<'a> for $thing { fn foo<'b>(&self) { $body } } }; } struct MyThing; define_thing!(MyThing, { 2; //~^ ERROR: the `dbg!` macro is intended as a debugging tool }); } #[test] pub fn issue8481() { 1; //~^ ERROR: the `dbg!` macro is intended as a debugging tool } #[cfg(test)] fn foo2() { 1; //~^ ERROR: the `dbg!` macro is intended as a debugging tool } #[cfg(test)] mod mod1 { fn func() { 1; //~^ ERROR: the `dbg!` macro is intended as a debugging tool } } mod issue12131 { fn dbg_in_print(s: &str) { println!("dbg: {:?}", s); //~^ ERROR: the `dbg!` macro is intended as a debugging tool print!("{}", s); //~^ ERROR: the `dbg!` macro is intended as a debugging tool } }