import std.conv; string demangleZSymbols(string sym) { char[] res; try auto len = parse!uint(sym); catch (Exception e) sym = null; return cast(immutable) res; } pragma(msg, demangleZSymbols("8serenity9persister6Sqlite7__arrayZ")); $ dmd -c -release -O -inline treemapgen.d std/array.d(467): Error: CTFE internal error: illegal reference value 0LU dmd: interpret.c:6244: void VarDeclaration::createRefValue(Expression*): Assertion `IsRefValueValid(newval)' failed.
Created attachment 1048 [details] withoutstd Here's a reduced version not importing phobos. Don't know if that helps.
Reduced test case, requires -inline: bool decode(S)(ref int x) { return true; } bool front(A)() { int i = 0; return decode!(char)(i); } static assert( is(typeof({ front!(int)(); }())) ); static assert ( front!(int)());
Further reduced. Still requires -inline. bool bug7043(S)(ref int x) { return true; } static assert( { int i = 0; return bug7043!(char)(i); }() );
https://github.com/D-Programming-Language/dmd/commit/d0e793e0e62d3d11ab9c622e934388d16af51c3b https://github.com/D-Programming-Language/dmd/commit/325e94c9354fd5d3e21a1976df83b78a2d3a1a41
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル