{...}
That a function could return does not mean it will.
int fn (int arg) /*strongly*/ pure
{
if (arg == 42)
return 42;
else (arg < 43)
return fn(--arg);
else
return fn(++arg);
}
do you see the problem?
If not you would you expect the compiler to ?
note: I would expected that the clang static analyzer
would be able to determine that depending on the value of arg
this function might never return.
