This error pops up incorrectly after a final switch full of return statements.
Example, please! (Yes, I know, why don't I just write one? Because most of the time when I write one and guess at the details, the problem does not occur, because the description omits crucial information.)
Your wish is my demand! int main(){ enum foo{ bar }; foo x; final switch(x){ case foo.bar: return 0; } } buggy.d(1): Error: function main.main no return exp; or assert(0); at end of function
Thank you, that hits the spot!
Fixed dmd 2.032