// !LANGUAGE: +NewInference // WITH_RUNTIME // IGNORE_BACKEND_FIR: JVM_IR // Issue: KT-36371 import kotlin.experimental.ExperimentalTypeInference class Foo(val string: String? = null) class Builder { private var resolver: ((Foo) -> T)? = null fun build() = resolver!! fun resolve(resolver: (Foo) -> T) { this.resolver = resolver } } @OptIn(ExperimentalTypeInference::class) fun build(@BuilderInference configure: Builder.() -> Unit) = Builder().apply(configure).build() fun box(): String { val resolver = build { resolve { it.string } } resolver(Foo()) return "OK" }