// Expect 1 error

// Simple recursion is not allowed, even with branching:
int fibonacci(int n) { return n <= 1 ? n : fibonacci(n - 1) + fibonacci(n - 2); }

/*%%*
potential recursion (function call cycle) not allowed:
	int fibonacci(int n)
	int fibonacci(int n)
*%%*/
