rust/tests/ui/dbg_macro/dbg_macro.rs

110 lines
2.5 KiB
Rust
Raw Normal View History

2023-07-27 06:40:22 -05:00
//@no-rustfix
2019-01-31 18:23:40 -06:00
#![warn(clippy::dbg_macro)]
2023-11-01 11:19:06 -05:00
#[path = "auxiliary/submodule.rs"]
mod submodule;
2019-02-01 13:54:51 -06:00
fn foo(n: u32) -> u32 {
if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2019-02-01 13:54:51 -06:00
}
fn bar(_: ()) {}
2019-02-01 13:54:51 -06:00
fn factorial(n: u32) -> u32 {
if dbg!(n <= 1) {
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2019-02-01 13:54:51 -06:00
dbg!(1)
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2019-02-01 13:54:51 -06:00
} else {
dbg!(n * factorial(n - 1))
//~^ 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);
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2019-02-01 13:54:51 -06:00
dbg!(dbg!(dbg!(42)));
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2019-02-01 13:54:51 -06:00
foo(3) + dbg!(factorial(4));
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2022-02-11 08:45:56 -06:00
dbg!(1, 2, dbg!(3, 4));
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2022-02-11 08:45:56 -06:00
dbg!(1, 2, 3, 4, 5);
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2022-02-11 08:45:56 -06:00
}
fn issue9914() {
macro_rules! foo {
($x:expr) => {
$x;
};
}
macro_rules! foo2 {
($x:expr) => {
$x;
};
}
macro_rules! expand_to_dbg {
() => {
dbg!();
};
}
dbg!();
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
#[allow(clippy::let_unit_value)]
let _ = dbg!();
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
bar(dbg!());
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
foo!(dbg!());
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
foo2!(foo!(dbg!()));
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
expand_to_dbg!();
}
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);
//~^ 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);
//~^ 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);
//~^ 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);
//~^ ERROR: the `dbg!` macro is intended as a debugging tool
2022-05-17 10:37:12 -05:00
}
}