[dsicretefunction.default] made dtor virtual