// IGNORE_FIR // EXPECTED_DUPLICATED_HIGHLIGHTING val fnType : suspend () -> Unit = {} val fnFnType: () -> suspend () -> Unit = { -> {}} suspend fun inSuspend(fn: suspend () -> Unit) { val res: suspend (Int) -> Int = { it + 1 }; T2().nonSuspend() .suspend1(fn) .suspend1 { } .suspend1 { res(5) } res(5) fnType() fnFnType().invoke() } class T2 { suspend inline fun suspend1(block: suspend () -> Unit): T2 { block() return this } fun nonSuspend() = this }