http://d.puremagic.com/issues/show_bug.cgi?id=3344
--- Comment #3 from Don <clugd...@yahoo.com.au> 2009-09-29 01:24:55 PDT --- This is happening because when return exp; is changed into exp; return;, the semantic pass never gets run on the expression. ------- PATCH: iin statement.c, around line 3464, in Statement *ReturnStatement::semantic(Scope *sc) ===== /* Replace: * return exp; * with: * exp; return; */ Statement *s = new ExpStatement(loc, exp); + s->semantic(sc); ========== CAUTION: This patch also disallows code like " void foo() { return 7; }" This shows up several bugs in Phobos and in the DMD test suite. If there's a reason why such bug-prone code should continue to be accepted, a more complicated patch will be required. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------