// WITH_STDLIB // WORKS_WHEN_VALUE_CLASS // LANGUAGE: +ValueClasses, +GenericInlineClassParameter OPTIONAL_JVM_INLINE_ANNOTATION value class InlineNotNullPrimitive(val x: T) OPTIONAL_JVM_INLINE_ANNOTATION value class InlineNotNullReference(val y: T) fun testNotNullPrimitive(a: Any, b: A, c: InlineNotNullPrimitive, d: InlineNotNullPrimitive?) {} fun testNotNullReference(a: Any, b: A, 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" }