Resolve anonymous functions in block as expression
#KT-7265 Fixed
This commit is contained in:
Vendored
+43
@@ -0,0 +1,43 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
|
||||
// !CHECK_TYPE
|
||||
fun foo(block: () -> (() -> Int)) {}
|
||||
|
||||
fun test() {
|
||||
foo { fun(): Int {return 1} }
|
||||
foo({ fun() = 1 })
|
||||
|
||||
val x1 =
|
||||
if (1 == 1)
|
||||
fun(): Int {return 1}
|
||||
else
|
||||
fun() = 1
|
||||
|
||||
val x2 =
|
||||
if (1 == 1) {
|
||||
fun(): Int {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
else
|
||||
fun() = 1
|
||||
|
||||
val x3 = when (1) {
|
||||
0 -> fun(): Int {return 1}
|
||||
else -> fun() = 1
|
||||
}
|
||||
|
||||
val x31 = when (1) {
|
||||
0 -> {
|
||||
fun(): Int {return 1}
|
||||
}
|
||||
else -> fun() = 1
|
||||
}
|
||||
|
||||
val x4 = {
|
||||
y: Int -> fun(): Int {return 1}
|
||||
}
|
||||
|
||||
x4 checkType { _<Function1<Int, Function0<Int>>>() }
|
||||
|
||||
<!UNUSED_LAMBDA_EXPRESSION!>{ y: Int -> fun(): Int {return 1} }<!>
|
||||
}
|
||||
Reference in New Issue
Block a user