[FIR] KT-37027: Add 'out' projection to vararg elements

This commit is contained in:
simon.ogorodnik
2020-02-26 17:43:57 +03:00
parent f405b3f827
commit f9483b1f4f
31 changed files with 111 additions and 147 deletions
+1 -1
View File
@@ -3,5 +3,5 @@
fun printAll(vararg a : Any) {}
fun main(args: Array<String>) {
<!INAPPLICABLE_CANDIDATE!>printAll<!>(*args) // Shouldn't be an error
printAll(*args) // Shouldn't be an error
}
@@ -19,7 +19,7 @@ fun useTwoStringArrays(fn: (Array<String>, Array<String>) -> Unit) = fn(arrayOf(
fun test() {
<!INAPPLICABLE_CANDIDATE!>useStrings<!>(::stringVararg)
useStringArray(::stringVararg)
<!INAPPLICABLE_CANDIDATE!>useIntArray<!>(::numberVararg)
useIntArray(::numberVararg)
usePrimitiveIntArray(::intVararg)
<!INAPPLICABLE_CANDIDATE!>useIntArray<!>(::intVararg)
<!INAPPLICABLE_CANDIDATE!>useMixedStringArgs1<!>(::stringVararg)
@@ -4,6 +4,6 @@ fun bar(vararg a: String) {}
fun test2(a: Array<String>, b: Array<out String>) {
bar(*a)
<!INAPPLICABLE_CANDIDATE!>bar<!>(*b)
<!INAPPLICABLE_CANDIDATE!>bar<!>("", *a, *b, "")
bar(*b)
bar("", *a, *b, "")
}