On 26 August 2015 at 15:14, Mike via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On Saturday, 22 August 2015 at 10:11:24 UTC, Iain Buclaw wrote:

A MUCH better solution:

T[] _d_arrayliteral(T)(size_t length)

Also, isn't the typeinfo now stored by the GC so it can call the dtor? Perhaps that is done in the filling of the array literal, but I would be surprised as this is a GC feature.


I only looked at 2.066.1, the runtime implementation did not pass the typeinfo to the GC.

_d_arrayliteralTX eventually calls structTypeInfoSize() which, according to https://github.com/D-Programming-Language/druntime/blob/master/src/rt/lifetime.d#L214, is used to determine the size of TypeInfo so it can be stored by the GC, as Steven said.

Mike


Well, I have no control over what the library maintainers in DMD want to do in their runtime, but all is working fine without doing that in my camp.