KT-51247 Fix resolution of functional types with context receivers

This commit is contained in:
Pavel Mikhailovskii
2022-12-09 15:29:39 +00:00
committed by Space Team
parent a4bde57d44
commit 08767d572b
7 changed files with 71 additions and 23 deletions
@@ -1,21 +0,0 @@
// !LANGUAGE: +ContextReceivers
// !DIAGNOSTICS: -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
class Context
class Receiver
class Param
fun foo(context: Context, receiver: Receiver, p: Param) {}
context(Context)
fun bar(receiver: Receiver, p: Param) {}
context(Context)
fun Receiver.baz(p: Param) {}
fun main() {
var g: context(Context) Receiver.(Param) -> Unit
g = ::foo // OK
g = ::<!UNRESOLVED_REFERENCE!>bar<!> // OK
g = Receiver::<!UNRESOLVED_REFERENCE!>baz<!> // OK
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// !DIAGNOSTICS: -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE