Add regression tests for obsolete issues
#KT-9304 #KT-14961 #KT-16549 #KT-21080 #KT-28234 #KT-30102 #KT-31994 #KT-34291 #KT-38099 #KT-41174 #KT-44622 #KT-44701 #KT-44781 #KT-44849 #KT-44978 #KT-45081 #KT-45286 #KT-45383 #KT-45444 #KT-45907
This commit is contained in:
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
// KT-16549
|
||||
// IGNORE_BACKEND: JVM
|
||||
|
||||
class TailInline {
|
||||
private inline fun act(action: () -> Unit) {
|
||||
return action()
|
||||
}
|
||||
|
||||
private var countDown = 10
|
||||
|
||||
tailrec fun test(): Int {
|
||||
if (countDown < 5) return countDown
|
||||
act {
|
||||
countDown--
|
||||
if (countDown < 1)
|
||||
return countDown
|
||||
else
|
||||
return test() // GOTO countDown--
|
||||
}
|
||||
return countDown
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = TailInline().test()
|
||||
return if (result == 4) "OK" else "Fail: $result"
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// KT-14961
|
||||
// IGNORE_BACKEND: JVM, JS_IR, WASM
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun listOfFactor(number: Int): List<Int> {
|
||||
tailrec fun listOfFactor(number: Int, acc: List<Int>): List<Int> {
|
||||
(2..number).forEach {
|
||||
if (number % it == 0) return listOfFactor(number / it, acc + it)
|
||||
}
|
||||
return acc
|
||||
}
|
||||
return listOfFactor(number, emptyList())
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val factors = listOfFactor(60)
|
||||
return if (factors.size == 4) "OK" else "Fail: $factors"
|
||||
}
|
||||
Reference in New Issue
Block a user