// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -NON_LOCAL_RETURN_NOT_ALLOWED fun Function1.noInlineExt(p: Int) {} inline fun Function1.inlineExt2(p: Int) { { noInlineExt(11) this.noInlineExt(11) this noInlineExt 11 this }() } inline fun Function1.inlineExt() { { inlineExt2(1) this.inlineExt2(1) this inlineExt2 1 this(11) }() } inline fun inlineFunWithInvoke(s: (p: Int) -> Unit) { { s(11) s.invoke(11) s invoke 11 }() } inline fun inlineFunWithInvokeNonInline(noinline s: (p: Int) -> Unit) { { s(11) s.invoke(11) s invoke 11 }() } inline fun testExtension(s: (p: Int) -> Unit) { { s.inlineExt() } () } inline fun inlineFunWrongExtension(s: (p: Int) -> Unit) { { s.noInlineExt(11) } () }