Prohibit nested intersection types in return position

#KT-11490 Fixed
This commit is contained in:
Denis Zharkov
2016-03-18 11:16:06 +03:00
parent 90b5d3b9f5
commit 67b59fa72f
4 changed files with 41 additions and 1 deletions
@@ -0,0 +1,24 @@
package
public fun foo2(): In<{A & B}>
public fun </*0*/ T> select(/*0*/ x: T, /*1*/ y: T): T
public open class A : In<A> {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class B : In<B> {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface In</*0*/ in E> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}