On 09/09/2012 07:06 PM, kenji hara wrote:
An advantage of generic dup() is to allow copying of const arrays.

void main()
{
     class C {}
     const C[] ca = new C[3];
     //ca.dup;
     // Error: cannot implicitly convert element type const(C) to
mutable in ca.dup
     //ca.idup;
     // Error: cannot implicitly convert element type const(C) to
immutable in ca.idup
     ca.dup();
     // result is const(C[])
}

----

According to what I remember, the name 'idup' had been discussed in
the beginning of D2, but it had been disappeared from the need for
idup. But it is still oddly name.

Using:
   auto iarr = marr.idup;
Instead of :
   immutable iarr = marr.dup();  // In the future, () would not be necessary

Is really handy? Yes, it is 6(or 4) characters shorter.  But I can't
see it *handy*.

What you are missing is that the two code segments are not equivalent.

Reply via email to