1 macro_rules! prob1 {
2     (0) => {
3         0
4     };
5     ($n:expr) => {
6         if ($n % 3 == 0) || ($n % 5 == 0) {
7             $n + prob1!($n - 1); //~ ERROR recursion limit reached while expanding `prob1!`
8         } else {
9             prob1!($n - 1);
10         }
11     };
12 }
13 
main()14 fn main() {
15     println!("Problem 1: {}", prob1!(1000));
16 }
17