SysTime and std.array.array
monarch_dodra
monarchdodra at gmail.com
Sun Aug 25 12:01:13 PDT 2013
On Sunday, 25 August 2013 at 14:50:16 UTC, Paolo Invernizzi wrote:
> Hi all,
>
> --
I didn't fully investigate, but my guess is that you are seeing
emplace bugs. Basically, *array* first allocates an array
containing noise, and then tries to emplace data onto there.
Unfortunatly, emplace does it wrong, calling "opAssign" when it
shouldn't.
Further, SysTime is implemented (AFAIK), as a rebindable, which
has an elaborate opAssign. This means that when you call emplace,
it calls opAssign, which triggers your invariant, which fails,
since data is just noise. This is why commenting out that data
member also avoids the bug.
I'd tell you I have an open pull request that fixes it, but its
been stuck without review for *months*.
More information about the Digitalmars-d-learn
mailing list