Andrei Alexandrescu Wrote:

> Clemens wrote:
> > Andrei Alexandrescu Wrote:
> > 
> >> The main idea is to allow creation of noncopyable types by marking 
> >> this(this) as @disable.
> > 
> > I must be missing something, but isn't this usually done by making the copy 
> > constructor private?
> 
> Well one issue is that in D private has module granularity, which means 
> that inside a given module you could still create objects. That has the 
> advantage of obviating the need for "friend", but disables the private 
> constructor idiom.
> 
> Andrei

I thought about that, but it seemed to me that the D philosophy is that modules 
can be trusted to "do the right thing" internally. Then again, I can see how, 
due to its implicit nature, invoking a copy constructor "accidentally" may be 
easier than invoking a private method, leading to subtle bugs.

Reply via email to