Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/regressions/kt742.kt
T
2021-05-25 13:28:27 +03:00

13 lines
428 B
Kotlin
Vendored

//KT-742 Stack overflow in type inference
package a
fun <T : Any> T?.sure() : T = this!!
class List<T>(val head: T, val tail: List<T>? = null)
fun <T, Q> List<T>.map1(f: (T)-> Q): List<T>? = tail!!.map1(f)
fun <T, Q> List<T>.map2(f: (T)-> Q): List<T>? = tail.sure().map2(f)
fun <T, Q> List<T>.map3(f: (T)-> Q): List<T>? = tail.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>sure<!><T>().<!DEBUG_INFO_MISSING_UNRESOLVED!>map3<!>(f)