Max Samukha <spam...@d-coding.com> wrote:

On 10/03/2010 10:47 PM, Walter Bright wrote:

In D, all struct (and class) instances are, by definition, movable using
memcpy().


Structs are ok. Classes are not. Do you really want to forbid this use case:

class A
{
     private A _parent;
     private A[] _children;

     this(A parent)
     {
         if (parent !is null) {
             _parent = parent;
            _parent._children ~= this;
         }
     }
}

auto parent = new A;
auto child = new A(parent);

?

I don't see how that is incompatible with what Walter said. Of course
one would need to update pointers to the moved classes.

--
Simen

Reply via email to