]>
Commit | Line | Data |
---|---|---|
781aab86 FG |
1 | //@no-rustfix |
2 | ||
f20569fa XL |
3 | #![warn(clippy::dbg_macro)] |
4 | ||
5 | fn foo(n: u32) -> u32 { | |
6 | if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n } | |
781aab86 FG |
7 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
8 | //~| NOTE: `-D clippy::dbg-macro` implied by `-D warnings` | |
f20569fa | 9 | } |
49aad941 | 10 | fn bar(_: ()) {} |
f20569fa XL |
11 | |
12 | fn factorial(n: u32) -> u32 { | |
13 | if dbg!(n <= 1) { | |
781aab86 | 14 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa | 15 | dbg!(1) |
781aab86 | 16 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa XL |
17 | } else { |
18 | dbg!(n * factorial(n - 1)) | |
781aab86 | 19 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa XL |
20 | } |
21 | } | |
22 | ||
23 | fn main() { | |
24 | dbg!(42); | |
781aab86 | 25 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa | 26 | dbg!(dbg!(dbg!(42))); |
781aab86 | 27 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa | 28 | foo(3) + dbg!(factorial(4)); |
781aab86 | 29 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
5e7ed085 | 30 | dbg!(1, 2, dbg!(3, 4)); |
781aab86 | 31 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
5e7ed085 | 32 | dbg!(1, 2, 3, 4, 5); |
781aab86 | 33 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
5e7ed085 FG |
34 | } |
35 | ||
49aad941 FG |
36 | fn issue9914() { |
37 | macro_rules! foo { | |
38 | ($x:expr) => { | |
39 | $x; | |
40 | }; | |
41 | } | |
42 | macro_rules! foo2 { | |
43 | ($x:expr) => { | |
44 | $x; | |
45 | }; | |
46 | } | |
47 | macro_rules! expand_to_dbg { | |
48 | () => { | |
49 | dbg!(); | |
50 | }; | |
51 | } | |
52 | ||
53 | dbg!(); | |
781aab86 | 54 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
49aad941 FG |
55 | #[allow(clippy::let_unit_value)] |
56 | let _ = dbg!(); | |
781aab86 | 57 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
49aad941 | 58 | bar(dbg!()); |
781aab86 | 59 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
49aad941 | 60 | foo!(dbg!()); |
781aab86 | 61 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
49aad941 | 62 | foo2!(foo!(dbg!())); |
781aab86 | 63 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
49aad941 FG |
64 | expand_to_dbg!(); |
65 | } | |
66 | ||
5e7ed085 FG |
67 | mod issue7274 { |
68 | trait Thing<'b> { | |
69 | fn foo(&self); | |
70 | } | |
71 | ||
72 | macro_rules! define_thing { | |
73 | ($thing:ident, $body:expr) => { | |
74 | impl<'a> Thing<'a> for $thing { | |
75 | fn foo<'b>(&self) { | |
76 | $body | |
77 | } | |
78 | } | |
79 | }; | |
80 | } | |
81 | ||
82 | struct MyThing; | |
83 | define_thing!(MyThing, { | |
84 | dbg!(2); | |
781aab86 | 85 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
5e7ed085 FG |
86 | }); |
87 | } | |
88 | ||
89 | #[test] | |
90 | pub fn issue8481() { | |
91 | dbg!(1); | |
781aab86 | 92 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
f20569fa | 93 | } |
923072b8 FG |
94 | |
95 | #[cfg(test)] | |
96 | fn foo2() { | |
97 | dbg!(1); | |
781aab86 | 98 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
923072b8 FG |
99 | } |
100 | ||
101 | #[cfg(test)] | |
102 | mod mod1 { | |
103 | fn func() { | |
104 | dbg!(1); | |
781aab86 | 105 | //~^ ERROR: the `dbg!` macro is intended as a debugging tool |
923072b8 FG |
106 | } |
107 | } |