package

public fun test(/*0*/ d: Derived): kotlin.Unit

public open class Base</*0*/ T> {
    public constructor Base</*0*/ T>()
    public open fun bar(): TA<T>? /* = Wrapper<T>? */
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @Marker public open fun foo(): T?
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class Derived : Base<kotlin.String> {
    public constructor Derived()
    public open override /*1*/ /*fake_override*/ fun bar(): TA<kotlin.String>? /* = Wrapper<kotlin.String>? */
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @Marker public open override /*1*/ /*fake_override*/ fun foo(): kotlin.String?
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

@kotlin.RequiresOptIn @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPEALIAS, AnnotationTarget.FUNCTION}) public final annotation class Marker : kotlin.Annotation {
    public constructor Marker()
    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 Wrapper</*0*/ T> {
    public constructor Wrapper</*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
}
@Marker public typealias TA</*0*/ T> = Wrapper<T>
