struct CLCommandQueue { invariant() {} //private: int enqueueNativeKernel() { assert(0, "implement me"); } } $ dmd -c commandqueue.d dmd: func.c:1557: virtual void FuncDeclaration::semantic3(Scope *): Assertion `vresult' failed. Works without the invariant or with the private. Might have to do with the fix for http://d.puremagic.com/issues/show_bug.cgi?id=5039, but that's just a guess.
https://github.com/D-Programming-Language/dmd/pull/934
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/ad9e8e6ded41180b01ae8ff4460ce066a78cad93 fix Issue 8066 - ICE on missing return statement if invariant is present https://github.com/D-Programming-Language/dmd/commit/fefeed478ab3a201afe2536c8a4734df92228187 Merge pull request #934 from 9rnsr/fix8066 Issue 8066 - ICE on missing return statement if invariant is present