[NI] Fix issue with returning non-deparenthesized lambdas from labmdas
#KT-36080 Fixed
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
val x1: (String) -> Unit = run {
|
||||
lambda@{ foo ->
|
||||
bar(foo)
|
||||
}
|
||||
}
|
||||
|
||||
val x2: (String) -> Unit = run {
|
||||
({ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
val x3: (String) -> Unit = run {
|
||||
(lambda@{ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
val x4: (String) -> Unit = run {
|
||||
return@run (lambda@{ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
fun bar(s: String) {}
|
||||
fun <R> run(block: () -> R): R = block()
|
||||
@@ -0,0 +1,29 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
val x1: (String) -> Unit = run {
|
||||
lambda@{ foo ->
|
||||
bar(foo)
|
||||
}
|
||||
}
|
||||
|
||||
val x2: (String) -> Unit = run {
|
||||
({ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
val x3: (String) -> Unit = run {
|
||||
(lambda@{ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
val x4: (String) -> Unit = run {
|
||||
return@run (lambda@{ foo ->
|
||||
bar(foo)
|
||||
})
|
||||
}
|
||||
|
||||
fun bar(s: String) {}
|
||||
fun <R> run(block: () -> R): R = block()
|
||||
@@ -0,0 +1,8 @@
|
||||
package
|
||||
|
||||
public val x1: (kotlin.String) -> kotlin.Unit
|
||||
public val x2: (kotlin.String) -> kotlin.Unit
|
||||
public val x3: (kotlin.String) -> kotlin.Unit
|
||||
public val x4: (kotlin.String) -> kotlin.Unit
|
||||
public fun bar(/*0*/ s: kotlin.String): kotlin.Unit
|
||||
public fun </*0*/ R> run(/*0*/ block: () -> R): R
|
||||
Reference in New Issue
Block a user