2ecba6ac39
This directive anyway does not make test run twice with OI, and with NI It only once run the test with specific settings (// LANGUAGE) and ignores irrelevant (OI or NI tags)
15 lines
554 B
Kotlin
Vendored
15 lines
554 B
Kotlin
Vendored
// !CHECK_TYPE
|
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
|
|
|
class Foo<T>
|
|
|
|
fun <T> foo1(f: (T) -> Unit): Foo<T> = Foo()
|
|
inline fun <reified T> foo2(f: (T) -> Unit): Foo<T> = Foo()
|
|
|
|
fun test1() {
|
|
val f1: Foo<out Int> = foo1 { it checkType { _<Int>() } }
|
|
val f2: Foo<in Nothing> = foo1 { it <!UNREACHABLE_CODE!>checkType { _<Nothing>() }<!> }
|
|
|
|
val f3: Foo<out Int> = foo2 { it checkType { _<Int>() } }
|
|
val f4: Foo<in Nothing> = <!REIFIED_TYPE_FORBIDDEN_SUBSTITUTION!>foo2<!> { it <!UNREACHABLE_CODE!>checkType { _<Nothing>() }<!> }
|
|
} |