open class C(val f: () -> Unit) { fun test() { f() } } class B(var x: Int) { fun foo() { object : C({x = 3}) {}.test() } } fun box() : String { val b = B(1) b.foo() return if (b.x != 3) "fail: b.x = ${b.x}" else "OK" }