035d6156a7
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays
#KT-5537 Fixed
26 lines
779 B
Kotlin
Vendored
26 lines
779 B
Kotlin
Vendored
// !CHECK_TYPE
|
|
|
|
fun foo(x: Cloneable) = x
|
|
|
|
fun test() {
|
|
foo(arrayOf(""))
|
|
foo(intArrayOf())
|
|
foo(longArrayOf())
|
|
foo(shortArrayOf())
|
|
foo(byteArrayOf())
|
|
foo(charArrayOf())
|
|
foo(doubleArrayOf())
|
|
foo(floatArrayOf())
|
|
foo(booleanArrayOf())
|
|
|
|
arrayOf("").clone() checkType { _<Array<String>>() }
|
|
intArrayOf().clone() checkType { _<IntArray>() }
|
|
longArrayOf().clone() checkType { _<LongArray>() }
|
|
shortArrayOf().clone() checkType { _<ShortArray>() }
|
|
byteArrayOf().clone() checkType { _<ByteArray>() }
|
|
charArrayOf().clone() checkType { _<CharArray>() }
|
|
doubleArrayOf().clone() checkType { _<DoubleArray>() }
|
|
floatArrayOf().clone() checkType { _<FloatArray>() }
|
|
booleanArrayOf().clone() checkType { _<BooleanArray>() }
|
|
}
|