Postblit not called in one case

Daniel Murphy yebblies at nospamgmail.com
Wed Jul 6 00:03:54 PDT 2011


Looks like a bug.  Please file.

"bearophile" <bearophileHUGS at lycos.com> wrote in message 
news:iv0eki$1d8e$1 at digitalmars.com...
> With DMD 2.053 the second assert of this program fires, is this a DMD bug 
> or it's me that's missing something?
>
>
> struct Foo {
>    int[] data;
>
>    this(int n) {
>        data.length = n;
>    }
>
>    this(this) {
>        data = data.dup;
>    }
> }
> void main() {
>    Foo f1, f2;
>    f1 = Foo(1);
>    f2 = f1;
>    assert(f1.data.ptr != f2.data.ptr); // OK
>    f1 = f2 = Foo(1);
>    assert(f1.data.ptr != f2.data.ptr); // asserts
> }
>
> Bye and thank you,
> bearophile 




More information about the Digitalmars-d-learn mailing list