| // WITH_STDLIB | |
| // WORKS_WHEN_VALUE_CLASS | |
| OPTIONAL_JVM_INLINE_ANNOTATION | |
| value class InlineNotNullPrimitive(val x: Int) | |
| OPTIONAL_JVM_INLINE_ANNOTATION | |
| value class InlineNotNullReference(val y: String) | |
| fun <T> testNotNullPrimitive(a: Any, b: T, c: InlineNotNullPrimitive, d: InlineNotNullPrimitive?) {} | |
| fun <T> testNotNullReference(a: Any, b: T, c: InlineNotNullReference, d: InlineNotNullReference?) {} | |
| fun test(a: InlineNotNullPrimitive, b: InlineNotNullReference) { | |
| testNotNullPrimitive(a, a, a, a) // 3 box | |
| testNotNullReference(b, b, b, b) // 2 box | |
| } | |
| fun box(): String { | |
| val a = InlineNotNullPrimitive(10) | |
| val b = InlineNotNullReference("some") | |
| test(a, b) | |
| return "OK" | |
| } |