interface T {
    fun result(): String
}

open class B(val x: String)

class A : B("OK") {
    fun foo() = object : T {
        val bar = x

        override fun result() = bar
    }
}

fun box() = A().foo().result()
