From 9918693037dce8aa4bb6f08741b6812923486c18 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 19 Jun 2024 11:26:03 +0200 Subject: Merging upstream version 1.76.0+dfsg1. Signed-off-by: Daniel Baumann --- .../tests/ui/dbg_macro/auxiliary/submodule.rs | 3 + src/tools/clippy/tests/ui/dbg_macro/dbg_macro.rs | 109 +++++++++++ .../clippy/tests/ui/dbg_macro/dbg_macro.stderr | 215 +++++++++++++++++++++ 3 files changed, 327 insertions(+) create mode 100644 src/tools/clippy/tests/ui/dbg_macro/auxiliary/submodule.rs create mode 100644 src/tools/clippy/tests/ui/dbg_macro/dbg_macro.rs create mode 100644 src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr (limited to 'src/tools/clippy/tests/ui/dbg_macro') diff --git a/src/tools/clippy/tests/ui/dbg_macro/auxiliary/submodule.rs b/src/tools/clippy/tests/ui/dbg_macro/auxiliary/submodule.rs new file mode 100644 index 000000000..b1df24737 --- /dev/null +++ b/src/tools/clippy/tests/ui/dbg_macro/auxiliary/submodule.rs @@ -0,0 +1,3 @@ +fn f() { + dbg!(); +} diff --git a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.rs b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.rs new file mode 100644 index 000000000..3f4770c63 --- /dev/null +++ b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.rs @@ -0,0 +1,109 @@ +//@no-rustfix + +#![warn(clippy::dbg_macro)] + +#[path = "auxiliary/submodule.rs"] +mod submodule; + +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 +} +fn bar(_: ()) {} + +fn factorial(n: u32) -> u32 { + if dbg!(n <= 1) { + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + dbg!(1) + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + } else { + dbg!(n * factorial(n - 1)) + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + } +} + +fn main() { + dbg!(42); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + dbg!(dbg!(dbg!(42))); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + foo(3) + dbg!(factorial(4)); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + dbg!(1, 2, dbg!(3, 4)); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + dbg!(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 { + () => { + 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!(); +} + +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 + }); +} + +#[test] +pub fn issue8481() { + dbg!(1); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool +} + +#[cfg(test)] +fn foo2() { + dbg!(1); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool +} + +#[cfg(test)] +mod mod1 { + fn func() { + dbg!(1); + //~^ ERROR: the `dbg!` macro is intended as a debugging tool + } +} diff --git a/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr new file mode 100644 index 000000000..4d00421c7 --- /dev/null +++ b/src/tools/clippy/tests/ui/dbg_macro/dbg_macro.stderr @@ -0,0 +1,215 @@ +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/auxiliary/submodule.rs:2:5 + | +LL | dbg!(); + | ^^^^^^^ + | + = note: `-D clippy::dbg-macro` implied by `-D warnings` + = help: to override `-D warnings` add `#[allow(clippy::dbg_macro)]` +help: remove the invocation before committing it to a version control system + | +LL - dbg!(); +LL + + | + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:9:22 + | +LL | if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n } + | ^^^^^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | if let Some(n) = n.checked_sub(4) { n } else { n } + | ~~~~~~~~~~~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:15:8 + | +LL | if dbg!(n <= 1) { + | ^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | if n <= 1 { + | ~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:17:9 + | +LL | dbg!(1) + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 1 + | + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:20:9 + | +LL | dbg!(n * factorial(n - 1)) + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | n * factorial(n - 1) + | + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:26:5 + | +LL | dbg!(42); + | ^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 42; + | ~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:28:5 + | +LL | dbg!(dbg!(dbg!(42))); + | ^^^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | dbg!(dbg!(42)); + | ~~~~~~~~~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:30:14 + | +LL | foo(3) + dbg!(factorial(4)); + | ^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | foo(3) + factorial(4); + | ~~~~~~~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:32:5 + | +LL | dbg!(1, 2, dbg!(3, 4)); + | ^^^^^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | (1, 2, dbg!(3, 4)); + | ~~~~~~~~~~~~~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:34:5 + | +LL | dbg!(1, 2, 3, 4, 5); + | ^^^^^^^^^^^^^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | (1, 2, 3, 4, 5); + | ~~~~~~~~~~~~~~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:55:5 + | +LL | dbg!(); + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL - dbg!(); +LL + + | + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:58:13 + | +LL | let _ = dbg!(); + | ^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | let _ = (); + | ~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:60:9 + | +LL | bar(dbg!()); + | ^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | bar(()); + | ~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:62:10 + | +LL | foo!(dbg!()); + | ^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | foo!(()); + | ~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:64:16 + | +LL | foo2!(foo!(dbg!())); + | ^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | foo2!(foo!(())); + | ~~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:86:9 + | +LL | dbg!(2); + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 2; + | ~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:93:5 + | +LL | dbg!(1); + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 1; + | ~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:99:5 + | +LL | dbg!(1); + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 1; + | ~ + +error: the `dbg!` macro is intended as a debugging tool + --> $DIR/dbg_macro.rs:106:9 + | +LL | dbg!(1); + | ^^^^^^^ + | +help: remove the invocation before committing it to a version control system + | +LL | 1; + | ~ + +error: aborting due to 19 previous errors + -- cgit v1.2.3