[FIR] Support builder (coroutine) inference
#KT-37431 Fixed
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
||||
fun <T> foo(@BuilderInference block: MutableList<T>.() -> Unit): T = null!!
|
||||
|
||||
fun takeString(s: String) {}
|
||||
|
||||
fun test() {
|
||||
val s = foo {
|
||||
this.add("")
|
||||
}
|
||||
takeString(s)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
FILE: builderInference.kt
|
||||
public final fun <T> foo(@R|kotlin/BuilderInference|() block: R|kotlin/collections/MutableList<T>.() -> kotlin/Unit|): R|T| {
|
||||
^foo Null(null)!!
|
||||
}
|
||||
public final fun takeString(s: R|kotlin/String|): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval s: R|kotlin/String| = R|/foo|<R|kotlin/String|>(<L> = foo@fun R|kotlin/collections/MutableList<kotlin/String>|.<anonymous>(): R|kotlin/Unit| {
|
||||
^ this@R|special/anonymous|.R|FakeOverride<kotlin/collections/MutableList.add: R|kotlin/Boolean|>|(String())
|
||||
}
|
||||
)
|
||||
R|/takeString|(R|<local>/s|)
|
||||
}
|
||||
Reference in New Issue
Block a user