// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -RECURSION_IN_INLINE inline fun Function1.rangeTo(p: Function1): Range { this..p p..this return 1..2 } inline fun ExtensionFunction1.rangeTo(ext: ExtensionFunction1): Range { ext..this this..ext return 1..2 } inline fun inlineFunWithInvoke(s: (p: T) -> U, ext: T.(p: U) -> V) { s..s s..s ext..ext ext..ext } fun Function2.rangeTo(p: Function2): Range { return 1..2 } fun ExtensionFunction2.rangeTo(ext: ExtensionFunction2): Range { 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 }