[Issue 15662] Cannot move struct with defined opAssign due to @disabled post-blit

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri May 13 05:23:11 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=15662

--- Comment #12 from Martin Nowak <code at dawg.eu> ---
(In reply to Martin Nowak from comment #11)
>       static if (!hasElaborateAssign!T && isAssignable!T)
>         chunk = T.init;

That needs to be `value = T.init;`. Direct assignment is an optional
optimization over using memcpy.

>       else
>       {
>         import core.stdc.string : memcpy;
>         static immutable T init = T.init;
>         memcpy(&value, &init, T.sizeof);
>       }

--


More information about the Digitalmars-d-bugs mailing list