102c9c08d0
Before that commit we desugared `a ?: b` as
when (val elvis = a) {
null -> b
else -> elvis
}
It was incorrect, because `a` should be resolved in dependent mode,
but when it was `elvis` initializer it was resolved in independent
mode, so we can't infer type for `a` in some complex cases
5 lines
254 B
Plaintext
Vendored
5 lines
254 B
Plaintext
Vendored
FILE: invokeInWhenSubjectVariableInitializer.kt
|
|
public final fun test(func: R|() -> kotlin/String?|): R|kotlin/Unit| {
|
|
lval x: R|kotlin/String| = R|<local>/func|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/String?|>|() ?: String()
|
|
}
|