82653855ab
^KT-45989
38 lines
1.3 KiB
Kotlin
Vendored
38 lines
1.3 KiB
Kotlin
Vendored
// SKIP_TXT
|
|
// ISSUE: KT-56138
|
|
|
|
fun takeLambda1(f: String.() -> String) {}
|
|
fun takeLambda2(f: String.(String) -> String) {}
|
|
|
|
fun test_1() {
|
|
val x1: String.(String) -> String = <!INITIALIZER_TYPE_MISMATCH!>{ str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }<!>
|
|
val x2: String.() -> String = { <!UNRESOLVED_REFERENCE!>it<!> }
|
|
val x3: String.() -> String = <!INITIALIZER_TYPE_MISMATCH!>{ <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }<!>
|
|
}
|
|
|
|
fun test_2() {
|
|
takeLambda2 <!ARGUMENT_TYPE_MISMATCH!>{ str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }<!>
|
|
takeLambda1 { <!UNRESOLVED_REFERENCE!>it<!> }
|
|
takeLambda1 <!ARGUMENT_TYPE_MISMATCH!>{ <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }<!>
|
|
}
|
|
|
|
fun test_3(b: Boolean) {
|
|
val x1: String.(String) -> String = if (b) {
|
|
{ str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }
|
|
} else {
|
|
{ str, <!CANNOT_INFER_PARAMETER_TYPE!>str2<!> -> "this" }
|
|
}
|
|
|
|
val x2: String.() -> String = if (b) {
|
|
{ <!UNRESOLVED_REFERENCE!>it<!> }
|
|
} else {
|
|
{ <!UNRESOLVED_REFERENCE!>it<!> }
|
|
}
|
|
|
|
val x3: String.() -> String = if (b) {
|
|
<!ARGUMENT_TYPE_MISMATCH!>{ <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }<!>
|
|
} else {
|
|
<!ARGUMENT_TYPE_MISMATCH!>{ <!CANNOT_INFER_PARAMETER_TYPE!>x<!> -> "x" }<!>
|
|
}
|
|
}
|