https://issues.dlang.org/show_bug.cgi?id=19858
--- Comment #1 from Ulrich Küttler <[email protected]> --- Here is a piece of code that should be good but fails: import std.stdio; int eval(int c) { if (c > 0) { try { //writeln("Try harder!"); return eval(c - 1); } catch (Exception e) { writeln("GOOD ", c, ": ", e.msg); return 0; } } else { throw new Exception("Something exceptional right here"); } } int main() { try { return eval(1); } catch (Exception e) { writeln("FAILED: ", e.msg); } return 1; } Fun thing is, you can ask dmd to try harder (uncomment above) at it works. Same behavior seen with ldc2 and gdc. --
