848075192c
It leads to further infer type variable into those upper bounds which is forbidden Substituted upper bounds is ok because specific substituted types came from constraints of other proper positions, or if specific substituted type is from declared upper bound too, then there should be another declared upper bound with no substitution ^KT-51464 Fixed ^KT-47986 Fixed
20 lines
888 B
Plaintext
Vendored
20 lines
888 B
Plaintext
Vendored
package
|
|
|
|
public fun </*0*/ K> buildFoo(/*0*/ builderAction: Foo<K>.() -> kotlin.Unit): Foo<K>
|
|
public fun main(): kotlin.Unit
|
|
public fun </*0*/ K : Bar<N>, /*1*/ N : Bar<K>> Foo<K>.bar(/*0*/ x: kotlin.Int = ...): kotlin.Unit
|
|
|
|
public final class Bar</*0*/ K> {
|
|
public constructor Bar</*0*/ K>()
|
|
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 Foo</*0*/ K> {
|
|
public constructor Foo</*0*/ K>()
|
|
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
|
|
}
|