29 lines
467 B
Kotlin
Vendored
29 lines
467 B
Kotlin
Vendored
// WITH_STDLIB
|
|
// WORKS_WHEN_VALUE_CLASS
|
|
// LANGUAGE: +ValueClasses
|
|
|
|
// MODULE: lib1
|
|
// FILE: lib1.kt
|
|
|
|
class C<T>(val t: T) {
|
|
override fun hashCode(): Int = t as Int
|
|
}
|
|
|
|
// MODULE: lib2(lib1)
|
|
// FILE: lib2.kt
|
|
|
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
|
value class IC<TT>(val c: C<TT>) {
|
|
fun foo(): Int = c.hashCode()
|
|
}
|
|
|
|
// MODULE: main(lib1, lib2)
|
|
// FILE: main.kt
|
|
|
|
fun box(): String {
|
|
val ic = IC<Int>(C(42))
|
|
|
|
if (ic.foo() != 42) return "FAIL"
|
|
return "OK"
|
|
}
|