2019-01-31 18:23:40 -06:00
|
|
|
#![warn(clippy::dbg_macro)]
|
|
|
|
|
2019-02-01 13:54:51 -06:00
|
|
|
fn foo(n: u32) -> u32 {
|
2021-03-01 11:53:33 -06:00
|
|
|
if let Some(n) = dbg!(n.checked_sub(4)) { n } else { n }
|
2019-02-01 13:54:51 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
fn factorial(n: u32) -> u32 {
|
|
|
|
if dbg!(n <= 1) {
|
|
|
|
dbg!(1)
|
|
|
|
} else {
|
|
|
|
dbg!(n * factorial(n - 1))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-01-30 11:39:38 -06:00
|
|
|
fn main() {
|
|
|
|
dbg!(42);
|
2019-02-01 13:54:51 -06:00
|
|
|
dbg!(dbg!(dbg!(42)));
|
|
|
|
foo(3) + dbg!(factorial(4));
|
2022-02-11 08:45:56 -06:00
|
|
|
dbg!(1, 2, dbg!(3, 4));
|
|
|
|
dbg!(1, 2, 3, 4, 5);
|
|
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
|
|
});
|
2019-01-30 11:39:38 -06:00
|
|
|
}
|