[FIR, Tests] Add box tests to verify that disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE leads to executable code

#KT-59903


Merge-request: KT-MR-13423
Merged-by: Evgeniy Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>
This commit is contained in:
Evgeniy.Zhelenskiy
2023-12-08 13:18:59 +00:00
committed by Space Team
parent aff5b91da3
commit 9cef8a2133
25 changed files with 774 additions and 0 deletions
@@ -0,0 +1,20 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// IGNORE_BACKEND_K1: ANY
// WITH_STDLIB
object CommonCase {
interface Fas<D, E, R>
fun <D, E, R> delegate() : Fas<D, E, R> = object : Fas<D, E, R> {}
operator fun <D, E, R> Fas<D, E, R>.provideDelegate(host: D, p: Any?): Fas<D, E, R> = this
operator fun <D, E, R> Fas<D, E, R>.getValue(receiver: E, p: Any?): R = "OK" as R
val Long.test1: String by delegate()
val Long.test2: String by delegate<CommonCase, Long, String>()
}
fun box() = with(CommonCase) {
require(3L.test1 == "OK" && 3L.test2 == "OK")
"OK"
}