e1180adfbd
Right now, during the process of inlining, the compiler erases types. Because of that, we can end up with some random type (for example, `Any`) where the concrete type was expected (for example, `Int`). Compiler must insert a cast in the required places. #KT-66017 Fixed
21 lines
389 B
Kotlin
Vendored
21 lines
389 B
Kotlin
Vendored
// WITH_STDLIB
|
|
inline fun <T> Iterable<T>.myForEach(action: (T) -> Unit): Unit {
|
|
for (element in this) action(element)
|
|
}
|
|
|
|
inline fun myRepeat(times: Int, action: (Int) -> Unit) {
|
|
for (index in 0 until times) {
|
|
action(index)
|
|
}
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
listOf(1).myForEach { size ->
|
|
myRepeat(size) {
|
|
return "OK"
|
|
}
|
|
}
|
|
return "Fail"
|
|
}
|