Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/kt6175.fir.kt
T
Denis.Zharkov 2ecba6ac39 Remove WITH_NEW_INFERENCE directive from all tests
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)
2021-05-25 13:28:26 +03:00

49 lines
859 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_ANONYMOUS_PARAMETER
fun <T, R : Any> foo(body: (R?) -> T): T = fail()
fun test1() {
foo {
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
foo { x ->
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
}
fun <T, R> bar(body: (R) -> T): T = fail()
fun test2() {
bar {
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
bar { x ->
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
}
fun <T, R> baz(body: (List<R>) -> T): T = fail()
fun test3() {
baz {
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
baz { x ->
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
}
fun <T, R : Any> brr(body: (List<R?>) -> T): T = fail()
fun test4() {
brr {
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
brr { x ->
<!ARGUMENT_TYPE_MISMATCH!>true<!>
}
}
fun fail(): Nothing = throw Exception()