// ISSUE: KT-47989 // CHECK_TYPE_WITH_EXACT fun test() { val buildee = build { object: TypeSourceInterface { override fun produceTargetType() = getTypeVariable() } } // exact type equality check — turns unexpected compile-time behavior into red code // considered to be non-user-reproducible code for the purposes of these tests checkExactType>(buildee) } class TargetType interface TypeSourceInterface { fun produceTargetType(): TargetType } class Buildee { fun getTypeVariable(): TV = storage private var storage: TV = null!! } fun build(instructions: Buildee.() -> Unit): Buildee { return Buildee().apply(instructions) }