Added test for obsolete bug and removed workaround in code.

This commit is contained in:
Evgeny Gerashchenko
2015-04-07 21:10:42 +03:00
parent 015da2f8ca
commit eeeb741d42
6 changed files with 71 additions and 8 deletions
@@ -0,0 +1,19 @@
trait A
trait B
fun <R: A> R.f() {
}
fun <R: B> R.f() {
}
class AImpl: A
class BImpl: B
class C: A, B
fun main(args: Array<String>) {
AImpl().f()
BImpl().f()
C().<!CANNOT_COMPLETE_RESOLVE!>f<!>()
}
@@ -0,0 +1,38 @@
package
internal fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
internal fun </*0*/ R : A> R.f(): kotlin.Unit
internal fun </*0*/ R : B> R.f(): kotlin.Unit
internal trait 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
}
internal final class AImpl : A {
public constructor AImpl()
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
}
internal trait 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
}
internal final class BImpl : B {
public constructor BImpl()
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
}
internal final class C : A, B {
public constructor C()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}