Missing destructor call using clear and base interface ref.
    Roberto Delfiore 
    roberto.delfiore at gmail.com
       
    Mon Aug  6 06:59:44 PDT 2012
    
    
  
See the following code:
interface A{
}
class B : A{
     this(string name){this.name = name;}
     ~this(){
         writefln("Destructor %s", name);
     }
     string name;
}
void main(){
     B b0 = new B("b0");
     B b1 = new B("b1");
     A a = b0;
     clear(a);
     clear(b1);
}
Output:
Destructor b1
dmd 2.059
Why is the B destructor not invoked in the first clear?
Expected output:
Destructor b0
Destructor b1
    
    
More information about the Digitalmars-d-learn
mailing list