// IGNORE_BACKEND_K1: ANY // WITH_STDLIB object Inference2 { interface Foo fun delegate(): Foo = object : Foo {} operator fun Foo.provideDelegate(host: T, p: Any?): Foo = this operator fun Foo.getValue(receiver: Inference2, p: Any?): String = "OK" val test1: String by delegate() // same story like in Inference1 val test2: String by delegate() } fun box(): String { require(Inference2.test1 == "OK" && Inference2.test2 == "OK") return "OK" }