Do not add error types as upper bounds in type parameter

#KT-10237 Fixed
 #KT-11821 Fixed
 #KT-8200 Fixed
This commit is contained in:
Denis Zharkov
2016-07-01 17:35:53 +03:00
parent 7723a3a105
commit 60a0cd8cfd
10 changed files with 132 additions and 10 deletions
@@ -0,0 +1,47 @@
package
public val </*0*/ E> E.p1: kotlin.Int
public val </*0*/ E> E.p2: kotlin.Int
public val </*0*/ E> E.p3: kotlin.Int
public fun </*0*/ E> foo0(): kotlin.Unit
public fun </*0*/ E> foo1(): kotlin.Unit
public fun </*0*/ E> foo2(): kotlin.Unit
public final class 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 final class EnumAttribute</*0*/ T : kotlin.Enum<T>> {
public constructor EnumAttribute</*0*/ T : kotlin.Enum<T>>(/*0*/ klass: java.lang.Class<T>)
public final val klass: java.lang.Class<T>
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 I0</*0*/ T> {
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 I1</*0*/ T> {
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 I2</*0*/ T> {
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 X {
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
}