Or even the simplier way. Just do:

extern(C++) struct A {
    int x;
    A A(int x_);
    A A(ref const(A) v);
    void ~A(A*);
}

And call those methods manually:

A obj = A.A(1);
A obj1 = A.A(obj);
A.~A(&obj);
A.~A(&obj1);

The problem here it to distinguish real static methods from fake ones. But we can actually make user mark real static methods as static.

Reply via email to