2019-01-31 18:23:40 -06:00
|
|
|
#![warn(clippy::dbg_macro)]
|
2024-09-26 10:49:14 -05:00
|
|
|
#![allow(clippy::unnecessary_operation, clippy::no_effect, clippy::unit_arg)]
|
2023-11-01 11:19:06 -05:00
|
|
|
|
2019-02-01 13:54:51 -06:00
|
|
|
fn foo(n: u32) -> u32 {
|
2021-03-01 11:53:33 -06:00
|
|
|
if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2019-02-01 13:54:51 -06:00
|
|
|
}
|
2023-04-29 18:30:15 -05:00
|
|
|
fn bar(_: ()) {}
|
2019-02-01 13:54:51 -06:00
|
|
|
|
|
|
|
fn factorial(n: u32) -> u32 {
|
|
|
|
if dbg!(n <= 1) {
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2019-02-01 13:54:51 -06:00
|
|
|
dbg!(1)
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2019-02-01 13:54:51 -06:00
|
|
|
} else {
|
|
|
|
dbg!(n * factorial(n - 1))
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2019-02-01 13:54:51 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-30 11:39:38 -06:00
|
|
|
fn main() {
|
|
|
|
dbg!(42);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2019-02-01 13:54:51 -06:00
|
|
|
foo(3) + dbg!(factorial(4));
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-02-11 08:45:56 -06:00
|
|
|
dbg!(1, 2, 3, 4, 5);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-02-11 08:45:56 -06:00
|
|
|
}
|
|
|
|
|
2023-04-29 18:30:15 -05:00
|
|
|
fn issue9914() {
|
2023-05-15 14:33:56 -05:00
|
|
|
macro_rules! foo {
|
|
|
|
($x:expr) => {
|
|
|
|
$x;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
macro_rules! foo2 {
|
|
|
|
($x:expr) => {
|
|
|
|
$x;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
macro_rules! expand_to_dbg {
|
|
|
|
() => {
|
|
|
|
dbg!();
|
2024-03-06 09:08:59 -06:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-05-15 14:33:56 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2023-04-29 18:30:15 -05:00
|
|
|
dbg!();
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-04-29 18:30:15 -05:00
|
|
|
#[allow(clippy::let_unit_value)]
|
|
|
|
let _ = dbg!();
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-04-29 18:30:15 -05:00
|
|
|
bar(dbg!());
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-05-15 14:33:56 -05:00
|
|
|
foo!(dbg!());
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-05-15 14:33:56 -05:00
|
|
|
foo2!(foo!(dbg!()));
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2023-05-15 14:33:56 -05:00
|
|
|
expand_to_dbg!();
|
2023-04-29 18:30:15 -05:00
|
|
|
}
|
|
|
|
|
2022-02-11 08:45:56 -06:00
|
|
|
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, {
|
|
|
|
dbg!(2);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-02-11 08:45:56 -06:00
|
|
|
});
|
2019-01-30 11:39:38 -06:00
|
|
|
}
|
2022-03-03 12:28:05 -06:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
pub fn issue8481() {
|
|
|
|
dbg!(1);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-03-03 12:28:05 -06:00
|
|
|
}
|
2022-05-17 10:37:12 -05:00
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
fn foo2() {
|
|
|
|
dbg!(1);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-05-17 10:37:12 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod mod1 {
|
|
|
|
fn func() {
|
|
|
|
dbg!(1);
|
2023-07-28 14:35:48 -05:00
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
2022-05-17 10:37:12 -05:00
|
|
|
}
|
|
|
|
}
|
2024-01-15 03:51:29 -06:00
|
|
|
|
|
|
|
mod issue12131 {
|
|
|
|
fn dbg_in_print(s: &str) {
|
|
|
|
println!("dbg: {:?}", dbg!(s));
|
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
|
|
|
print!("{}", dbg!(s));
|
|
|
|
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
|
|
|
|
}
|
|
|
|
}
|