Files
kotlin-fork/compiler/testData/codegen/box/inlineClasses/createInlineClassInArgumentPosition.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

34 lines
868 B
Kotlin
Vendored

// WITH_STDLIB
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
value class AsInt(val value: Int) {
override fun toString(): String {
return "asInt: ${value.toString()}"
}
}
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
@kotlin.jvm.JvmInline
value class AsAny(val value: Any) {
override fun toString(): String {
return "asAny: ${value.toString()}"
}
}
fun takeAny(a: Any): String = a.toString()
fun getInt(): Int = 10
fun <T> id(x: T) = x
fun box(): String {
if (takeAny(AsInt(123)) != "asInt: 123") return "fail"
if (takeAny(AsAny(321)) != "asAny: 321") return "fail"
if (takeAny(AsInt(getInt())) != "asInt: 10") return "fail"
if (takeAny(AsInt(id(20))) != "asInt: 20") return "fail"
if (takeAny(AsAny(id(30))) != "asAny: 30") return "fail"
return "OK"
}