package test

public interface A</*0*/ T : kotlin.Comparable<T>> {
    public abstract fun foo(): T
}

public open class B : test.A<kotlin.Int> {
    public constructor B()
    public open fun foo(): kotlin.Int
}

public abstract class C : test.A<kotlin.Int> {
    public constructor C()
    public abstract /*fake_override*/ fun foo(): kotlin.Int
}

public/*package*/ open class ExtendsB : test.B {
    public/*package*/ constructor ExtendsB()
    public open /*fake_override*/ fun foo(): kotlin.Int
    public/*package*/ open fun test(): kotlin.Unit
}

public/*package*/ open class ExtendsC : test.C {
    public/*package*/ constructor ExtendsC()
    public open fun foo(): kotlin.Int
    public/*package*/ open fun test(): kotlin.Unit
}
