Posted to tcl by stu at Mon Jul 16 20:06:18 GMT 2018view pretty

oo::class create A {destructor {puts a;catch {next}}}
oo::class create B {destructor {puts b};mixin A}
oo::class create C {destructor {puts c}}
foreach i {a b c} {set $i [[string totitle $i] new]}
oo::objdefine $c mixin -append A
foreach i {a b c} {puts $i:;[set $i] destroy}

In the output I expect to see:
c:
a
c