// ISSUE: KT-24779 class Inv(val data: T) fun test1(x: Inv) { val y = x.data when (y) { is String -> x.data.length // Smart cast: x.data is String } } fun test2(x: Inv) { val y = x.data when (y) { is String -> x.data.length // No smart cast, UNRESOLVED_REFERENCE: length } }