Made vararg parameters have Array<out T> type
instead of simply Array<T> #KT-1638 Fixed #KT-2163 Fixed #KT-3213 Fixed #KT-4172 Fixed #KT-5534 Fixed
This commit is contained in:
@@ -25,7 +25,7 @@ fun foo() {
|
||||
// ---------------------
|
||||
// copy from kotlin util
|
||||
|
||||
fun <T> array(vararg t : T) : Array<T> = t
|
||||
fun <T> array(vararg t : T) : Array<T> = t as Array<T>
|
||||
|
||||
fun <T, R> Array<T>.map(<!UNUSED_PARAMETER!>transform<!> : (T) -> R) : List<R> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
|
||||
|
||||
|
||||
@@ -11,4 +11,4 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
//from library
|
||||
fun <T> array(vararg t : T) : Array<T> = t
|
||||
fun <T> array(vararg t : T) : Array<T> = t as Array<T>
|
||||
@@ -13,4 +13,4 @@ public fun test()
|
||||
|
||||
//--------------------
|
||||
|
||||
fun <T> array(vararg t : T) : Array<T> = t
|
||||
fun <T> array(vararg t : T) : Array<T> = t as Array<T>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
fun foo<T: Any>(vararg <!UNUSED_PARAMETER!>ts<!>: T): T? = null
|
||||
|
||||
class Pair<A>(a: A)
|
||||
|
||||
fun test() {
|
||||
val v = foo(Pair(1))
|
||||
<!TYPE_MISMATCH!>v<!>: Int // check that it is not error type
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package
|
||||
|
||||
internal fun </*0*/ T : kotlin.Any> foo(/*0*/ vararg ts: T /*kotlin.Array<T>*/): T?
|
||||
internal fun test(): kotlin.Unit
|
||||
|
||||
internal final class Pair</*0*/ A> {
|
||||
public constructor Pair</*0*/ A>(/*0*/ a: A)
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user