I have: [code]
module A;
module A;
interface B {
public:
immutable B dup();
}
class A : B {
public:
this() {}
this(in char[] field) { this.field = field.dup; }
immutable A dup() { return new A(field); }
private:
char[] field;
}
void main()
{
B f, g;
f = new A;
g = new A;
f = g.dup;
}
I get