struct is not copyable because it is annotated with @disable bugs ?

Newbie2019 newbie2019 at gmail.com
Sat Jul 27 17:17:00 UTC 2019


On Saturday, 27 July 2019 at 17:13:45 UTC, Adam D. Ruppe wrote:
> If you change that to just plain `return NodeList(a, b);`, 
> while keeping the first line, it will compile too.
>
> The reason here is when you return and construct together, it 
> constructs it in-place. But if you put it in a local variable 
> first, it needs to copy it to the return value.
>
> Removing the first line just lets the compiler optimize out the 
> local variable, reducing it to the in-place one again.
>
> But explicitly returning and constructing together works in 
> either case.

Thanks your for the very quick and good explain.

I thinks the DMD should report a more helpful error about this.


More information about the Digitalmars-d-learn mailing list