package

internal fun foo(/*0*/ p: X): Bad<out Bad<out kotlin.Any?>!>!

public/*package*/ open class Bad</*0*/ T : Bad<out kotlin.Any?>!> {
    public/*package*/ constructor Bad</*0*/ T : Bad<out kotlin.Any?>!>()
    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/*package*/ open class X {
    public/*package*/ constructor X()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public/*package*/ open fun foo(): Bad<out Bad<out kotlin.Any?>!>!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}