This code used to compile but resultes in ICE since dmd 1.074: --- struct S1 { enum E { x } E e; const S1 s1 = S1(E.x); void f() { if(*this == s1) { } } } struct S2 { S1 s = S1.s1; } --- dmd 1.075 compiler output: --- Assertion failure: '0' on line 1081 in file 'glue.c' ---
This works in the D1 head.
I can reproduce on Linux64, using D1 (Haven't yet checked if it happens with Phobos1, but definitely happens with Tango).
(In reply to comment #2) > I can reproduce on Linux64, using D1 (Haven't yet checked if it happens with > Phobos1, but definitely happens with Tango). Strange, it doesn't look like a platform-dependent bug. Please, specify exact commit you are using to build dmd. Also confirm that 118d3da3a9b35911afbf2eae98084f75c33802f3 doesn't work for you as it works for me on Win32.
I added the test case into the D1 test suite, and ran the full test suite on all platforms. No errors.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル