FIR: Fix false-positive successful resolution of call with lambda receiver
Do not try to integrate/postpone receiver expression to the base system Receiver should be resolved independently anyway
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
fun (() -> String).foo() {}
|
||||
fun String.foo() {}
|
||||
|
||||
fun String.bar() {}
|
||||
|
||||
fun main1() {
|
||||
{ "" }.foo()
|
||||
"".foo()
|
||||
}
|
||||
|
||||
fun main2() {
|
||||
{ "" }.<!INAPPLICABLE_CANDIDATE!>bar<!>()
|
||||
"".bar()
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
FILE: lambdaAsReceiver.kt
|
||||
public final fun R|() -> kotlin/String|.foo(): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun R|kotlin/String|.foo(): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun R|kotlin/String|.bar(): R|kotlin/Unit| {
|
||||
}
|
||||
public final fun main1(): R|kotlin/Unit| {
|
||||
fun <anonymous>(): R|kotlin/String| {
|
||||
^ String()
|
||||
}
|
||||
.R|/foo|()
|
||||
String().R|/foo|()
|
||||
}
|
||||
public final fun main2(): R|kotlin/Unit| {
|
||||
fun <anonymous>(): R|kotlin/String| {
|
||||
^ String()
|
||||
}
|
||||
.<Inapplicable(INAPPLICABLE_WRONG_RECEIVER): /bar>#()
|
||||
String().R|/bar|()
|
||||
}
|
||||
Reference in New Issue
Block a user