My guess is that the compiler generates code, that doesn't expect
assert(false); to actually return normally.

You're probably right. In my investigation I found the only way to *not* have
it crash was to throw an exception from the assertion handler.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

http://d.puremagic.com/issues/show_bug.cgi?id=3208
--- Comment #3 from Sean Kelly <sean invisibleduck.org> 2009-07-25 11:33:31
PDT ---
Yeah, DMD requires the assert handler to throw. It's not an optimization I'm
particularly fond of, but it doesn't seem likely that this will change. Since
this isn't a library issue, I suggest either closing the ticket or redirecting
it to Walter as an enhancement request for DMD.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------