Fix KT-51478
The issue was that, when various context elements were available to fulfill a need for an extension receiver, but none of them were applicable to it, the compiler behaved the same way as if there was no extension receiver at all. https://youtrack.jetbrains.com/issue/KT-51478/Inapplicable-receiver-diagnostic-expected-when-there-are-two-context-receiver-candidates
This commit is contained in:
committed by
teamcity
parent
dccb7faf2e
commit
4cbee3cde7
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
// !LANGUAGE: +ContextReceivers
|
||||
// FIR_IDENTICAL
|
||||
|
||||
fun String.foo() {}
|
||||
|
||||
context(Int, Double)
|
||||
fun bar() {
|
||||
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>foo<!>() // should be prohibited
|
||||
}
|
||||
|
||||
fun main() {
|
||||
with(1) {
|
||||
with(2.0) {
|
||||
bar()
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
package
|
||||
|
||||
context(kotlin.Int, kotlin.Double) public fun bar(): kotlin.Unit
|
||||
public fun main(): kotlin.Unit
|
||||
public fun kotlin.String.foo(): kotlin.Unit
|
||||
Reference in New Issue
Block a user