FIR: permit tailrec calls in inline lambdas
This commit is contained in:
Vendored
-1
@@ -1,6 +1,5 @@
|
||||
// KT-16549
|
||||
// IGNORE_BACKEND: JVM, JS
|
||||
// IGNORE_FIR_DIAGNOSTICS_DIFF
|
||||
|
||||
class TailInline {
|
||||
private inline fun act(action: () -> Unit) {
|
||||
|
||||
-1
@@ -1,7 +1,6 @@
|
||||
// KT-14961
|
||||
// IGNORE_BACKEND: JVM, JS_IR, WASM
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_FIR_DIAGNOSTICS_DIFF
|
||||
|
||||
fun listOfFactor(number: Int): List<Int> {
|
||||
tailrec fun listOfFactor(number: Int, acc: List<Int>): List<Int> {
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
// WITH_STDLIB
|
||||
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo1() {
|
||||
run {
|
||||
<!NON_TAIL_RECURSIVE_CALL!>foo1<!>()
|
||||
}
|
||||
}
|
||||
|
||||
fun myRun(f: () -> Unit) = f()
|
||||
|
||||
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo2() {
|
||||
myRun {
|
||||
<!NON_TAIL_RECURSIVE_CALL!>foo2<!>()
|
||||
}
|
||||
}
|
||||
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo3() {
|
||||
fun bar() {
|
||||
<!NON_TAIL_RECURSIVE_CALL!>foo3<!>()
|
||||
}
|
||||
bar()
|
||||
}
|
||||
|
||||
class A {
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo4() {
|
||||
with(this) {
|
||||
<!NON_TAIL_RECURSIVE_CALL!>foo4<!>()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo5() {
|
||||
run {
|
||||
return <!NON_TAIL_RECURSIVE_CALL!>foo5<!>()
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// WITH_STDLIB
|
||||
|
||||
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo1() {
|
||||
|
||||
Reference in New Issue
Block a user