!7 cprint { class A { swappable S x() { ret "a"; } } class B extends A { swappable S x_inner() { ret super.x_base(); } S x_base() { ret "b" + x_inner(); } } start-thread { assertEqualsVerbose("a", new A().x()); assertEqualsVerbose("ba", new B().x()); // override the whole x() method new B c; c.x = () -> "c"; assertEqualsVerbose("c", c.x()); } }