What am I missing?

import std.stdio;

struct A
{
    int value;

    A opAssign(A a)
    {
        writeln(" Assigning");
return this; // I know this makes little sense, just for illustration
    }
}

class B
{
    A member;

    this(A a)
    {
this.member = a; // specifically aiming towards this assignment...
    }
}

void main()
{
    A a = A(1);
    A aa = A(2);

    A aaa = a;

    auto clas = new B(a);

    writeln("Only this works:");
    aaa = a;
    writeln("or");
    A aaaa;
    aaaa = aa;
}


Output:
Only this works:
 Assigning
or
 Assigning


Note that before "Only this works:" nothing was written.

How can I overwrite the opAssign operator??
I'm sure I'm missing something...

Reply via email to