On compiling the files in the below zip file (with unittesting), I get dmd: statement.c:138: virtual int Statement::blockExit(): Assertion `0' failed. There's a fair deal of code in there, but I believe its coming from TestRecords, for anyone bothering to whittle this one down. http://personal.utulsa.edu/~ellery-newcomer/dxltest.zip
I don't think it's fair for Walter or Don to debug your code. So I suggest you to first of all merge all that code in a single module, then start removing parts and keep that ICE, until you reach to a short enough program to post here again.
I think it's fair for Walter or Don to debug their code. Anyways, I lied about TestRecords. This is as small as I care to get it: public int blitvisit()() { foreach(k; s.tupleof){ mixin(BlitX!()); } } void main(){ blitvisit!()(); }
If you post several modules here then you are asking people to debug your code. Your last code doesn't show the ICE, it just shows: test.d(2): Error: undefined identifier s
This is D1-only. Reduced test case: void bug4125() { foreach(k; s){ mixin(""); } } -------- test0.d(384): Error: undefined identifier s test0.d(384): Error: cannot infer type for k Statement::blockExit(00C17914) mixin(""); Passed in 1.030, ICE in 1.034.
https://github.com/D-Programming-Language/dmd/commit/017697af3ff93383dad0ad085994e3f2aab515d8
The fix was: https://github.com/D-Programming-Language/dmd/pull/570
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル