Files
kotlin-fork/compiler/testData/diagnostics/tests/regressions/kt352.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

29 lines
705 B
Kotlin
Vendored

//KT-352 Function variable declaration type isn't checked inside a function body
package kt352
val f : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!><!>-> } //type mismatch
fun foo() {
val f : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!><!>-> } //!!! no error
}
class A() {
val f : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!><!>-> } //type mismatch
}
//more tests
val g : () -> Unit = { 42 }
val gFunction : () -> Unit = <!TYPE_MISMATCH!>fun(): Int = 1<!>
val h : () -> Unit = { doSmth() }
fun doSmth(): Int = 42
fun doSmth(a: String) {}
val testIt : (Any) -> Unit = {
if (it is String) {
doSmth(<!DEBUG_INFO_SMARTCAST!>it<!>)
}
}