[Test] Add regression tests for issues which are fixed in K2

Related issues:
KT-10879, KT-18055, KT-20617, KT-23873
KT-25668, KT-31191, KT-33108, KT-41013
KT-51827, KT-53886, KT-56624, KT-58447
KT-58458, KT-58751, KT-58814, KT-60597
KT-62806, KT-63258, KT-63444, KT-65101
KT-65408, KT-65844, KT-66186

^KT-65926 Fixed
This commit is contained in:
Dmitriy Novozhilov
2024-02-28 12:13:45 +02:00
committed by Space Team
parent b875ae774e
commit 4b5eac7816
79 changed files with 1719 additions and 0 deletions
@@ -0,0 +1,14 @@
// ISSUE: KT-31191
import kotlin.contracts.*
@OptIn(ExperimentalContracts::class)
fun Any.isString(): Boolean {
contract { returns(true) implies (this@isString is String) }
return this is String
}
fun test(x: Any?) {
if (x != null && x.isString()) {
x.length
}
}
@@ -0,0 +1,14 @@
// ISSUE: KT-31191
import kotlin.contracts.*
@OptIn(ExperimentalContracts::class)
fun Any.isString(): Boolean {
contract { returns(true) implies (this@isString is String) }
return this is String
}
fun test(x: Any?) {
if (x != null && <!DEBUG_INFO_SMARTCAST!>x<!>.isString()) {
x.<!UNRESOLVED_REFERENCE!>length<!>
}
}
@@ -0,0 +1,10 @@
// ISSUE: KT-25668
suspend fun SequenceScope<Int>.bar() = yield(1)
fun test() {
val seq = sequence {
val f: suspend SequenceScope<Int>.() -> Unit = SequenceScope<Int>::bar
f()
}
seq.toList()
}
@@ -0,0 +1,10 @@
// ISSUE: KT-25668
suspend fun SequenceScope<Int>.bar() = yield(1)
fun test() {
val seq = sequence {
val f: suspend SequenceScope<Int>.() -> Unit = SequenceScope<Int>::<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>bar<!>
f()
}
seq.toList()
}