]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/dbg_macro.rs
Rollup merge of #102454 - chenyukang:fix-102396-missing-parentheses, r=lcnr
[rust.git] / src / tools / clippy / tests / ui / dbg_macro.rs
1 // compile-flags: --test
2 #![warn(clippy::dbg_macro)]
3
4 fn foo(n: u32) -> u32 {
5     if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
6 }
7
8 fn factorial(n: u32) -> u32 {
9     if dbg!(n <= 1) {
10         dbg!(1)
11     } else {
12         dbg!(n * factorial(n - 1))
13     }
14 }
15
16 fn main() {
17     dbg!(42);
18     dbg!(dbg!(dbg!(42)));
19     foo(3) + dbg!(factorial(4));
20     dbg!(1, 2, dbg!(3, 4));
21     dbg!(1, 2, 3, 4, 5);
22 }
23
24 mod issue7274 {
25     trait Thing<'b> {
26         fn foo(&self);
27     }
28
29     macro_rules! define_thing {
30         ($thing:ident, $body:expr) => {
31             impl<'a> Thing<'a> for $thing {
32                 fn foo<'b>(&self) {
33                     $body
34                 }
35             }
36         };
37     }
38
39     struct MyThing;
40     define_thing!(MyThing, {
41         dbg!(2);
42     });
43 }
44
45 #[test]
46 pub fn issue8481() {
47     dbg!(1);
48 }
49
50 #[cfg(test)]
51 fn foo2() {
52     dbg!(1);
53 }
54
55 #[cfg(test)]
56 mod mod1 {
57     fn func() {
58         dbg!(1);
59     }
60 }