On Saturday, 3 June 2017 at 20:25:22 UTC, Stanislav Blinov wrote:
On Saturday, 3 June 2017 at 20:13:30 UTC, Moritz Maxeiner wrote:
Calling std.algorithm.move is explicit programmer intent, I
consider that about as accidental as calling memcpy with a
source full of zeroes.
In any case, having that check in the destructor is fairly
cheap, so better safe than sorry (and include it).
Yes, it's explicit. Destructor call is still implicit though,
and it better not be performing null dereference or something
equally nasty :)
Quite, but if you backtrack to my initial statement, it was about
ptr not being/becoming null (implicitly) in the first place,
which *might* allow you to skip the check (if you don't set it to
null via external means, such as memcpy, move, etc).