Skip to content

Commit 53189ad

Browse files
committed
Auto merge of rust-lang#8500 - rust-lang:testless-dbg-macro, r=Manishearth
Omit dbg_macro in test code This fixes rust-lang#8481. --- changelog: none
2 parents c5faf99 + 6390723 commit 53189ad

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

clippy_lints/src/dbg_macro.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use clippy_utils::diagnostics::span_lint_and_sugg;
2+
use clippy_utils::is_in_test_function;
23
use clippy_utils::macros::root_macro_call_first_node;
34
use clippy_utils::source::snippet_with_applicability;
45
use rustc_errors::Applicability;
@@ -35,6 +36,10 @@ impl LateLintPass<'_> for DbgMacro {
3536
fn check_expr(&mut self, cx: &LateContext<'_>, expr: &Expr<'_>) {
3637
let Some(macro_call) = root_macro_call_first_node(cx, expr) else { return };
3738
if cx.tcx.is_diagnostic_item(sym::dbg_macro, macro_call.def_id) {
39+
// we make an exception for test code
40+
if is_in_test_function(cx.tcx, expr.hir_id) {
41+
return;
42+
}
3843
let mut applicability = Applicability::MachineApplicable;
3944
let suggestion = match expr.peel_drop_temps().kind {
4045
// dbg!()

tests/ui/dbg_macro.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// compile-flags: --test
12
#![warn(clippy::dbg_macro)]
23

34
fn foo(n: u32) -> u32 {
@@ -40,3 +41,8 @@ mod issue7274 {
4041
dbg!(2);
4142
});
4243
}
44+
45+
#[test]
46+
pub fn issue8481() {
47+
dbg!(1);
48+
}

tests/ui/dbg_macro.stderr

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
error: `dbg!` macro is intended as a debugging tool
2-
--> $DIR/dbg_macro.rs:4:22
2+
--> $DIR/dbg_macro.rs:5:22
33
|
44
LL | if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
55
| ^^^^^^^^^^^^^^^^^^^^^^
@@ -11,7 +11,7 @@ LL | if let Some(n) = n.checked_sub(4) { n } else { n }
1111
| ~~~~~~~~~~~~~~~~
1212

1313
error: `dbg!` macro is intended as a debugging tool
14-
--> $DIR/dbg_macro.rs:8:8
14+
--> $DIR/dbg_macro.rs:9:8
1515
|
1616
LL | if dbg!(n <= 1) {
1717
| ^^^^^^^^^^^^
@@ -22,7 +22,7 @@ LL | if n <= 1 {
2222
| ~~~~~~
2323

2424
error: `dbg!` macro is intended as a debugging tool
25-
--> $DIR/dbg_macro.rs:9:9
25+
--> $DIR/dbg_macro.rs:10:9
2626
|
2727
LL | dbg!(1)
2828
| ^^^^^^^
@@ -33,7 +33,7 @@ LL | 1
3333
|
3434

3535
error: `dbg!` macro is intended as a debugging tool
36-
--> $DIR/dbg_macro.rs:11:9
36+
--> $DIR/dbg_macro.rs:12:9
3737
|
3838
LL | dbg!(n * factorial(n - 1))
3939
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -44,7 +44,7 @@ LL | n * factorial(n - 1)
4444
|
4545

4646
error: `dbg!` macro is intended as a debugging tool
47-
--> $DIR/dbg_macro.rs:16:5
47+
--> $DIR/dbg_macro.rs:17:5
4848
|
4949
LL | dbg!(42);
5050
| ^^^^^^^^
@@ -55,7 +55,7 @@ LL | 42;
5555
| ~~
5656

5757
error: `dbg!` macro is intended as a debugging tool
58-
--> $DIR/dbg_macro.rs:17:5
58+
--> $DIR/dbg_macro.rs:18:5
5959
|
6060
LL | dbg!(dbg!(dbg!(42)));
6161
| ^^^^^^^^^^^^^^^^^^^^
@@ -66,7 +66,7 @@ LL | dbg!(dbg!(42));
6666
| ~~~~~~~~~~~~~~
6767

6868
error: `dbg!` macro is intended as a debugging tool
69-
--> $DIR/dbg_macro.rs:18:14
69+
--> $DIR/dbg_macro.rs:19:14
7070
|
7171
LL | foo(3) + dbg!(factorial(4));
7272
| ^^^^^^^^^^^^^^^^^^
@@ -77,7 +77,7 @@ LL | foo(3) + factorial(4);
7777
| ~~~~~~~~~~~~
7878

7979
error: `dbg!` macro is intended as a debugging tool
80-
--> $DIR/dbg_macro.rs:19:5
80+
--> $DIR/dbg_macro.rs:20:5
8181
|
8282
LL | dbg!(1, 2, dbg!(3, 4));
8383
| ^^^^^^^^^^^^^^^^^^^^^^
@@ -88,7 +88,7 @@ LL | (1, 2, dbg!(3, 4));
8888
| ~~~~~~~~~~~~~~~~~~
8989

9090
error: `dbg!` macro is intended as a debugging tool
91-
--> $DIR/dbg_macro.rs:20:5
91+
--> $DIR/dbg_macro.rs:21:5
9292
|
9393
LL | dbg!(1, 2, 3, 4, 5);
9494
| ^^^^^^^^^^^^^^^^^^^
@@ -99,7 +99,7 @@ LL | (1, 2, 3, 4, 5);
9999
| ~~~~~~~~~~~~~~~
100100

101101
error: `dbg!` macro is intended as a debugging tool
102-
--> $DIR/dbg_macro.rs:40:9
102+
--> $DIR/dbg_macro.rs:41:9
103103
|
104104
LL | dbg!(2);
105105
| ^^^^^^^

0 commit comments

Comments
 (0)