[FIR-TEST] Add new testdata generated after changes in previous commit
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
fun <T> fail1(): Array<T> = Array(1) { null!! }
|
||||
fun <T> ok1(block: () -> Array<T>): Array<T> = block()
|
||||
inline fun <reified T> ok2(): Array<T> = Array(1) { null!! }
|
||||
|
||||
|
||||
fun <T> fail2(): Array<T> = ok1 { Array<T>(1) { null!! } }
|
||||
fun <T> ok3(block: () -> Array<T>): Array<T> = ok1 { block() }
|
||||
inline fun <reified T> ok4(): Array<T> = ok1 { Array<T>(1) { null!! } }
|
||||
|
||||
fun <T> fail3(block: () -> T): Pair<Array<T>, Array<T>> = Pair(arrayOf(
|
||||
block()), arrayOf()
|
||||
)
|
||||
inline fun <reified T> ok5(block: () -> T): Pair<Array<T>, Array<T>> = Pair(
|
||||
arrayOf(block()), arrayOf()
|
||||
)
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
fun <T> foo() {
|
||||
val x = arrayOfNulls<T>(5)
|
||||
}
|
||||
|
||||
inline fun <reified T> bar() {
|
||||
val x = arrayOfNulls<T>(5)
|
||||
}
|
||||
|
||||
fun baz() {
|
||||
bar<Int>()
|
||||
val x: Array<Int?> = arrayOfNulls(5)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
class Inv<T>
|
||||
|
||||
inline operator fun <reified T> Inv<T>.invoke() {}
|
||||
|
||||
operator fun <K> Inv<K>.get(i: Int): Inv<K> = this
|
||||
|
||||
fun <K> test(a: Inv<K>) {
|
||||
a[1]()
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
class A<T>(val x: Array<T>) {
|
||||
val y: Int = x[0].toString().length
|
||||
|
||||
fun foo(a: T) {
|
||||
x[0] = a
|
||||
}
|
||||
|
||||
fun <R> bar(a: Array<R>): Int = a[0].toString().length
|
||||
}
|
||||
|
||||
fun <T> baz(a: Array<T>): String = a[0].toString()
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_VARIABLE -DEPRECATION
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
inline fun<reified T> foo(block: () -> T): String = block().toString()
|
||||
|
||||
inline fun <reified T: Any> javaClass(): Class<T> = <!OTHER_ERROR!>T<!>::class.<!INAPPLICABLE_CANDIDATE!>java<!>
|
||||
|
||||
fun box() {
|
||||
val a = arrayOf(null!!)
|
||||
val b = Array<Nothing?>(5) { null!! }
|
||||
val c = foo() { null!! }
|
||||
val d = foo<Any> { null!! }
|
||||
val e = foo { "1" as Nothing }
|
||||
val e1 = foo { "1" as Nothing? }
|
||||
|
||||
val f = javaClass<Nothing>()
|
||||
}
|
||||
Reference in New Issue
Block a user