class CFoo{ public void destroy(){ delete this; } // ok public void forget(){ this = null; } // ok but no effect } void main(){ auto l_fooA = new CFoo; auto l_fooB = l_fooA; l_fooA.forget; // no effect l_fooA = null; // now ok l_fooB.destroy; // ok }