// !LANGUAGE: +ForbidExtensionCallsOnInlineFunctionalParameters // !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE inline operator fun Function1.component1() = 1 inline operator fun Function1.component2() = 2 inline fun inlineFunWithInvoke(s: (p: T) -> U) { val (d1, e1) = s } operator fun Function2.component1() = 1 operator fun Function2.component2() = 2 operator fun @ExtensionFunctionType Function3.component1() = 1 operator fun @ExtensionFunctionType Function3.component2() = 2 inline fun inlineFunWithInvoke(s: (p: T, l: U) -> V, ext: T.(p: U, l: V) -> W) { val (d1, e1) = s val (d2, e2) = ext }