// WITH_STDLIB // WORKS_WHEN_VALUE_CLASS // LANGUAGE: +ValueClasses, +GenericInlineClassParameter OPTIONAL_JVM_INLINE_ANNOTATION value class Foo(val x: T) { fun bar() {} } fun transform(f: Foo): Foo { return when { true -> f as Foo else -> TODO() } } fun box(): String { val f = Foo(42) val t = transform(f) return if (t.x !is Number) "Fail" else "OK" }