package

public fun main(/*0*/ a: Defaults, /*1*/ x: Foo): kotlin.Unit

@org.jspecify.nullness.NullMarked public open class Defaults {
    public constructor Defaults()
    public final var defaultField: Foo!
    @org.jspecify.nullness.Nullable public final var field: @org.jspecify.nullness.Nullable Foo!
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open fun everythingNotNullable(/*0*/ x: Foo!): Foo!
    @org.jspecify.nullness.Nullable public open fun everythingNullable(/*0*/ @org.jspecify.nullness.Nullable x: @org.jspecify.nullness.Nullable Foo!): @org.jspecify.nullness.Nullable Foo!
    @org.jspecify.nullness.NullnessUnspecified public open fun everythingUnknown(/*0*/ @org.jspecify.nullness.NullnessUnspecified x: @org.jspecify.nullness.NullnessUnspecified Foo!): @org.jspecify.nullness.NullnessUnspecified Foo!
    public open fun explicitlyNullnessUnspecified(/*0*/ @org.jspecify.nullness.NullnessUnspecified x: @org.jspecify.nullness.NullnessUnspecified Foo!): Foo!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    @org.jspecify.nullness.Nullable public open fun mixed(/*0*/ x: Foo!): @org.jspecify.nullness.Nullable Foo!
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public open class Foo {
    public constructor Foo()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open fun foo(): kotlin.Any!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

