On 11/12/11 9:22 AM, kenji hara wrote:
Here is a pitfall.
If S has the postblit, it is not called with your code.

import core.stdc.stdio;
struct S
{
     this(this){
         printf("postblit\n");
     }
}
void main()
{
     S s;
     S* ps = [s].ptr;
     // does not print "postblit"
}

I've already poted a pull
(https://github.com/D-Programming-Language/dmd/pull/375) to fix it,
but it is not yet merged.

Thanks! This is important. I recall C++ was much more difficult to use in the period of time where compilers got various copy construction scenarios wrong. We need to have object copying rock-solid.

Andrei


Reply via email to