package

package variance {
    public fun copy1(/*0*/ from: variance.Array<kotlin.Any>, /*1*/ to: variance.Array<kotlin.Any>): kotlin.Unit
    public fun copy2(/*0*/ from: variance.Array<out kotlin.Any>, /*1*/ to: variance.Array<in kotlin.Any>): kotlin.Unit
    public fun </*0*/ T> copy3(/*0*/ from: variance.Array<out T>, /*1*/ to: variance.Array<in T>): kotlin.Unit
    public fun copy4(/*0*/ from: variance.Array<out kotlin.Number>, /*1*/ to: variance.Array<in kotlin.Int>): kotlin.Unit
    public fun f(/*0*/ ints: variance.Array<kotlin.Int>, /*1*/ any: variance.Array<kotlin.Any>, /*2*/ numbers: variance.Array<kotlin.Number>): kotlin.Unit
    public fun foo(/*0*/ c: variance.Consumer<kotlin.Int>, /*1*/ p: variance.Producer<kotlin.Int>, /*2*/ u: variance.Usual<kotlin.Int>): kotlin.Unit

    public final class Array</*0*/ T> {
        public constructor Array</*0*/ T>(/*0*/ length: kotlin.Int, /*1*/ t: T)
        public final val length: kotlin.Int
        public final val t: T
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final fun get(/*0*/ index: kotlin.Int): T
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final fun set(/*0*/ index: kotlin.Int, /*1*/ value: T): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public abstract class Consumer</*0*/ in T> {
        public constructor Consumer</*0*/ in 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
    }

    public abstract class Producer</*0*/ out T> {
        public constructor Producer</*0*/ out 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
    }

    public abstract class Usual</*0*/ T> {
        public constructor Usual</*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
    }
}
