https://issues.dlang.org/show_bug.cgi?id=17605
--- Comment #2 from ZombineDev <[email protected]> --- Agreed. From my superficial understanding of dmd's internals, I think the culprit is around `needsCodegen()`. AFAIR, changes to that code often led to regressions and undefined symbol references and in the past 3-4 years it was relatively often tweaked, though I think it was stable / unchanged over the last year or so. I don't remember if Walter and Kenji agreed that they have reached the perfect design, so that no further changes to the general emission strategy were necessary, but judging from these bug reports, there's still work to be done. See also: https://github.com/ldc-developers/ldc/issues/2168#issuecomment-312494490 and https://issues.dlang.org/show_bug.cgi?id=17577. --
