rust/tests/ui/macros/issue-16098.rs

17 lines
330 B
Rust

macro_rules! prob1 {
(0) => {
0
};
($n:expr) => {
if ($n % 3 == 0) || ($n % 5 == 0) {
$n + prob1!($n - 1); //~ ERROR recursion limit reached while expanding `prob1!`
} else {
prob1!($n - 1);
}
};
}
fn main() {
println!("Problem 1: {}", prob1!(1000));
}