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
