KT-3919 Automatic labeling of lambdas by receiving functions
#KT-3919 Fixed
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
fun box(): String {
|
||||
val a = 1
|
||||
val explicitlyReturned = run1 {(): String ->
|
||||
if (a > 0)
|
||||
return@run1 "OK"
|
||||
else "Fail 1"
|
||||
}
|
||||
if (explicitlyReturned != "OK") return explicitlyReturned
|
||||
|
||||
val implicitlyReturned = run1 {(): String ->
|
||||
if (a < 0)
|
||||
return@run1 "Fail 2"
|
||||
else "OK"
|
||||
}
|
||||
if (implicitlyReturned != "OK") return implicitlyReturned
|
||||
return "OK"
|
||||
}
|
||||
|
||||
fun run1<T>(f: () -> T): T { return f() }
|
||||
@@ -0,0 +1,23 @@
|
||||
fun f() {
|
||||
foo {(): Int ->
|
||||
return@foo 1
|
||||
}
|
||||
foo({(): Int ->
|
||||
return@foo 1
|
||||
}
|
||||
)
|
||||
foo(a = {(): Int ->
|
||||
return@foo 1
|
||||
})
|
||||
|
||||
foo {(): Int ->
|
||||
foo {
|
||||
(): Int ->
|
||||
return@foo 1
|
||||
}
|
||||
return@foo 1
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(<!UNUSED_PARAMETER!>a<!>: Any) {}
|
||||
|
||||
Reference in New Issue
Block a user