// TARGET_BACKEND: JVM // WITH_STDLIB // MODULE: lib // FILE: Value.kt package vv sealed class Value(@JvmField val value: T) { class StringValue(value: String) : Value(value) class BooleanValue(value: Boolean): Value(value) } // MODULE: main(lib) // FILE: kt47739.kt import kotlin.test.* import vv.* fun test(v: Value<*>) { when (v) { is Value.StringValue -> assertEquals("a string", v.value) is Value.BooleanValue -> assertEquals(true, v.value) } } fun box(): String { test(Value.StringValue("a string")) test(Value.BooleanValue(true)) return "OK" }