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:
Svetlana Isakova
2014-12-09 14:11:11 +03:00
parent d893e8283e
commit 5b4f10e698
42 changed files with 266 additions and 65 deletions
@@ -0,0 +1,13 @@
// !CHECK_TYPE
fun test(vararg a: String) {
a checkType { it : _<Array<out String>> }
foo(a) checkType { it : _<Array<out String>> }
}
fun <T> test1(vararg t: T) {
t checkType { it : _<Array<out T>> }
}
fun <T> foo(a: Array<T>): Array<T> = a