Current beta compiler ICE's on invalid code.
ice.d(3): Error: struct `ice.ForwardRef` no size because of forward reference
ForwardRef*[$] arr = [new ForwardRef()];
^
ice.d(3): Error: cannot infer static array length from `$`, provide an initializer
ForwardRef*[$] arr = [new ForwardRef()];
^
---
core.exception.AssertError@src/dmd/expressionsem.d(19130): Assertion failure
----------------
??:? _d_assertp [0x6417db1c6a1c]
src/dmd/expressionsem.d:19130 bool dmd.expressionsem.fill(dmd.dstruct.StructDeclaration, dmd.location.Loc, ref dmd.root.array.Array!(dmd.expression.Expression).Array, bool) [0x6417daf08101]
src/dmd/dinterpret.d:2849 _ZN11Interpreter5visitEP6NewExp [0x6417dae642df]
src/dmd/expression.d:1664 _ZN6NewExp6acceptEP7Visitor [0x6417daec72bd]
src/dmd/dinterpret.d:6264 dmd.expression.Expression dmd.dinterpret.interpret(dmd.ctfeexpr.UnionExp*, dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CTFEGoal) [0x6417dae6ed0c]
src/dmd/dinterpret.d:6275 dmd.expression.Expression dmd.dinterpret.interpret(dmd.expression.Expression, dmd.dinterpret.InterState*, dmd.dinterpret.CTFEGoal) [0x6417dae6ed62]
src/dmd/dinterpret.d:108 dmd.expression.Expression dmd.dinterpret.ctfeInterpret(dmd.expression.Expression) [0x6417dae5bbe8]
src/dmd/initsem.d:400 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret).visitExp(dmd.init.ExpInitializer) [0x6417daf37197]
src/dmd/init.d:379 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret).visit.VisitInitializer(dmd.init.Initializer) [0x6417daf39ba2]
src/dmd/initsem.d:1208 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret) [0x6417daf36125]
src/dmd/initsem.d:279 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret).visitArray(dmd.init.ArrayInitializer) [0x6417daf36bf5]
src/dmd/init.d:378 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret).visit.VisitInitializer(dmd.init.Initializer) [0x6417daf39b6e]
src/dmd/initsem.d:1208 dmd.init.Initializer dmd.initsem.initializerSemantic(dmd.init.Initializer, dmd.dscope.Scope*, ref dmd.mtype.Type, dmd.init.NeedInterpret) [0x6417daf36125]
src/dmd/semantic2.d:249 _ZN16Semantic2Visitor5visitEP14VarDeclaration [0x6417daf7ff61]
src/dmd/declaration.d:654 _ZN14VarDeclaration6acceptEP7Visitor [0x6417dae58c11]
src/dmd/semantic2.d:82 void dmd.semantic2.semantic2(dmd.dsymbol.Dsymbol, dmd.dscope.Scope*) [0x6417daf7f844]
src/dmd/semantic2.d:675 _ZN16Semantic2Visitor5visitEP20AggregateDeclaration [0x6417daf8132c]
src/dmd/visitor/parsetime.d:89 _ZN16ParseTimeVisitorI10ASTCodegenE5visitEP17StructDeclaration [0x6417daff10e5]
src/dmd/dstruct.d:127 _ZN17StructDeclaration6acceptEP7Visitor [0x6417dae8d639]
src/dmd/semantic2.d:82 void dmd.semantic2.semantic2(dmd.dsymbol.Dsymbol, dmd.dscope.Scope*) [0x6417daf7f844]
src/dmd/semantic2.d:382 _ZN16Semantic2Visitor5visitEP6Module [0x6417daf8074a]
src/dmd/dmodule.d:1003 _ZN6Module6acceptEP7Visitor [0x6417dae77669]
src/dmd/semantic2.d:82 void dmd.semantic2.semantic2(dmd.dsymbol.Dsymbol, dmd.dscope.Scope*) [0x6417daf7f844]
src/dmd/main.d:637 int dmd.main.tryMain(const(char)[][], out dmd.globals.Param) [0x6417dae19fe4]
src/dmd/main.d:148 _Dmain [0x6417dae18b61]
Current beta compiler ICE's on invalid code.
Reproducer
Backtrace
@gulugulubing - this affects current beta release.