// ISSUE: KT-53639 // CHECK_TYPE_WITH_EXACT fun test() { val buildee = initializeAndBuild( { build { setTypeVariable(TargetType()) } }, { placeholderExtensionInvokeOnBuildee() }, ) // 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 class Buildee { fun setTypeVariable(value: TV) { storage = value } private var storage: TV = null!! } fun Buildee.placeholderExtensionInvokeOnBuildee() {} fun build(instructions: Buildee.() -> Unit): Buildee { return Buildee().apply(instructions) } fun initializeAndBuild( initializer: () -> Buildee, instructions: Buildee.() -> Unit ): Buildee { return initializer().apply(instructions) }