// FIR_IDENTICAL // !LANGUAGE: +OverloadResolutionByLambdaReturnType // ALLOW_KOTLIN_PACKAGE // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -UNUSED_EXPRESSION // ISSUE: KT-11265 // FILE: OverloadResolutionByLambdaReturnType.kt package kotlin annotation class OverloadResolutionByLambdaReturnType // FILE: main.kt import kotlin.OverloadResolutionByLambdaReturnType @kotlin.jvm.JvmName("myFlatMapIterable") @OverloadResolutionByLambdaReturnType fun Sequence.myFlatMap(transform: (T) -> Iterable): Sequence { TODO() } fun Sequence.myFlatMap(transform: (T) -> Sequence): Sequence { TODO() } interface A { val supertypes: Collection } interface B { val descriptors: Sequence? } interface C fun elvis(x: K?, y: K): K = y fun test(a: A) { a.supertypes.asSequence().myFlatMap { elvis(it.descriptors, sequenceOf()) } }