package

public final inline class Id</*0*/ T> {
    public constructor Id</*0*/ T>(/*0*/ x: T)
    public final val x: T
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test1 {
    public constructor Test1(/*0*/ x: Test1)
    public final val x: Test1
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test2A {
    public constructor Test2A(/*0*/ x: Test2B)
    public final val x: Test2B
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test2B {
    public constructor Test2B(/*0*/ x: Test2A)
    public final val x: Test2A
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test3A {
    public constructor Test3A(/*0*/ x: Test3B)
    public final val x: Test3B
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test3B {
    public constructor Test3B(/*0*/ x: Test3C)
    public final val x: Test3C
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class Test3C {
    public constructor Test3C(/*0*/ x: Test3A)
    public final val x: Test3A
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class TestNullable {
    public constructor TestNullable(/*0*/ x: TestNullable?)
    public final val x: TestNullable?
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class TestRecursionInArray {
    public constructor TestRecursionInArray(/*0*/ x: kotlin.Array<TestRecursionInArray>)
    public final val x: kotlin.Array<TestRecursionInArray>
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class TestRecursionInTypeArguments {
    public constructor TestRecursionInTypeArguments(/*0*/ x: kotlin.collections.List<TestRecursionInTypeArguments>)
    public final val x: kotlin.collections.List<TestRecursionInTypeArguments>
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class TestRecursionInUpperBounds</*0*/ T : TestRecursionInUpperBounds<T>> {
    public constructor TestRecursionInUpperBounds</*0*/ T : TestRecursionInUpperBounds<T>>(/*0*/ x: T)
    public final val x: T
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

public final inline class TestRecursionThroughId {
    public constructor TestRecursionThroughId(/*0*/ x: Id<TestRecursionThroughId>)
    public final val x: Id<TestRecursionThroughId>
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
