Test case: ----------------------------- struct D6375 { int[] arr; } A6375 a6375(int[] array) { return A6375(array); } struct A6375 { D6375* _data; this(int[] arr) { _data = new D6375; _data.arr = arr; } int[] data() { return _data.arr; } } static assert({ int[] a = [ 1, 2 ]; auto app2 = a6375(a); auto data = app2.data(); return true; }()); ----------------------------- Bus error: 10 ----------------------------- This is essentially the trimmed down version of the unit test for std.array.appender, running in CTFE. The segfault is due to StructLiteralExp::getField in expression.c: if (e->type->castMod(0) != type->castMod(0) && type->ty == Tsarray) // ^^^^ e->type is NULL Running e->semantic() once fixed the issue, but I'm not sure if this is the best solution.
https://github.com/D-Programming-Language/dmd/commit/0904c8aa200e4d080d500d96d5904c33ba17cc86 https://github.com/D-Programming-Language/dmd/commit/e48a8c67f02172c72e04f36759d2d6868d716368
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル