// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -NON_LOCAL_RETURN_NOT_ALLOWED fun Function1.minusAssign(p: Function1) {} inline fun Function1.modAssign(p: Function1) = { this += p p += this } inline fun Function1.plusAssign(p: Function1) { this -= p p -= this } fun ExtensionFunction1.minusAssign(ext : ExtensionFunction1) {} inline fun ExtensionFunction1.modAssign(ext : ExtensionFunction1) = { this += ext ext += this } inline fun ExtensionFunction1.plusAssign(ext : ExtensionFunction1) { this -= ext ext -= this } inline fun inlineFunWithInvoke(s: (p: T) -> U, ext: T.(p: U) -> V) { s += s ext += ext }