interface In interface Out interface Inv fun getT(): T = null!! interface Test { fun parameters1(i: I, o: O, p: P) fun parameters2(i: In<")!>I>) fun parameters3(i: In) fun explicitReturnType1() : I fun explicitReturnType2() : O fun explicitReturnType3() : P fun explicitReturnType4() : In fun explicitReturnType5() : In<")!>O> fun imlicitReturnType1() = getT() fun imlicitReturnType2() = getT() fun imlicitReturnType3() = getT

() fun imlicitReturnType4() = getT>() ")!>fun imlicitReturnType5() = getT>() fun I.receiver1() fun O.receiver2() fun P.receiver3() fun In<")!>I>.receiver4() fun In.receiver5() fun typeParameter1() fun O> typeParameter2() fun typeParameter3() fun ")!>I>> typeParameter4() fun > typeParameter5() }