36 lines
1.2 KiB
Kotlin
Vendored
36 lines
1.2 KiB
Kotlin
Vendored
// FIR_IDENTICAL
|
|
interface In<in T>
|
|
interface Out<out T>
|
|
interface Inv<T>
|
|
fun <T> getT(): T = null!!
|
|
|
|
interface Test<in I, out O, P> {
|
|
fun parameters1(i: I, o: <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>, p: P)
|
|
fun parameters2(i: In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>)
|
|
fun parameters3(i: In<O>)
|
|
|
|
fun explicitReturnType1() : <!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>
|
|
fun explicitReturnType2() : O
|
|
fun explicitReturnType3() : P
|
|
fun explicitReturnType4() : In<I>
|
|
fun explicitReturnType5() : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>>
|
|
|
|
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun imlicitReturnType1()<!> = getT<I>()
|
|
fun imlicitReturnType2() = getT<O>()
|
|
fun imlicitReturnType3() = getT<P>()
|
|
fun imlicitReturnType4() = getT<In<I>>()
|
|
<!TYPE_VARIANCE_CONFLICT_ERROR!>fun imlicitReturnType5()<!> = getT<In<O>>()
|
|
|
|
fun I.receiver1()
|
|
fun <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>.receiver2()
|
|
fun P.receiver3()
|
|
fun In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>.receiver4()
|
|
fun In<O>.receiver5()
|
|
|
|
fun <X : I> typeParameter1()
|
|
fun <X : <!TYPE_VARIANCE_CONFLICT_ERROR!>O<!>> typeParameter2()
|
|
fun <X : P> typeParameter3()
|
|
fun <X : In<<!TYPE_VARIANCE_CONFLICT_ERROR!>I<!>>> typeParameter4()
|
|
fun <X : In<O>> typeParameter5()
|
|
}
|