interface Foo : Object { public void foo (owned T bar) { bar = null; } } class Baz : Object, Foo { } void foo (owned T bar) { bar = null; } void main () { var bar = new Object (); foo (bar); assert (bar.ref_count == 1); var baz = new Baz (); baz.foo (bar); assert (baz.ref_count == 1); }