// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -RECURSION_IN_INLINE inline operator fun Function1.rangeTo(p: Function1): ClosedRange { this..p p..this return 1..2 } inline fun inlineFunWithInvoke(s: (p: T) -> U) { s..s s..s } operator fun Function2.rangeTo(p: Function2): ClosedRange { return 1..2 } operator fun @ExtensionFunctionType Function3.rangeTo(ext: @ExtensionFunctionType Function3): ClosedRange { return 1..2 } inline fun inlineFunWithInvoke(s: (p: T, l: U) -> U, ext: T.(p: U, l: U) -> V) { s..s s..s ext..ext ext..ext }