// ISSUE: KT-54664 // IGNORE_LIGHT_ANALYSIS // IGNORE_BACKEND: ANY // REASON: red code (see corresponding diagnostic test) fun box(): String { build { setTypeVariable(TargetType()) consumeDifferentTypeCallable(this::getTypeVariable) } return "OK" } class TargetType class DifferentType fun consumeDifferentType(value: DifferentType) {} fun consumeDifferentTypeCallable(callable: () -> DifferentType) { consumeDifferentType(callable()) } class Buildee { fun setTypeVariable(value: TV) { storage = value } fun getTypeVariable(): TV = storage private var storage: TV = TargetType() as TV } fun build(instructions: Buildee.() -> Unit): Buildee { return Buildee().apply(instructions) }