blob: 075ff1e7383f851f89a71520687e478cb5ee2aff [file]
// ISSUE: KT-72884
// FILE: 1.kt
typealias FirstOrder = () -> String
typealias SecondOrder = (FirstOrder) -> String
typealias ThirdOrder = (SecondOrder) -> String
inline fun firstImpl(): String = "OK"
inline fun secondImpl(crossinline first: FirstOrder): String = first()
inline fun thirdImpl(crossinline second: SecondOrder): String = second(::firstImpl)
inline fun fourthImpl(crossinline third: ThirdOrder): String = third(::secondImpl)
// FILE: 2.kt
fun box() = fourthImpl(::thirdImpl)