No need for a rationale for what can be adequately explained as a compiler bug (this is a downside of dmd - it trains you to think like this) It is curious, though, as it looks like both bodies get parsed the same way. Not sure what's going on.
Please to report to bugzilla