package

public val r1: Ref<in kotlin.Int>
public val r1a: Ref<in kotlin.Int>
public val r2: LateInitNumRef<kotlin.Int>
public val r2a: LateInitNumRef<kotlin.Int>
public val r3: LateInitNumRef<kotlin.Int>
public val r3a: LateInitNumRef<kotlin.Int>
public fun test(): kotlin.Unit
public fun </*0*/ V, /*1*/ R : Ref<in V>> update(/*0*/ r: R, /*1*/ v: V): R

public final class LateInitNumRef</*0*/ NN : kotlin.Number> : Ref<NN> {
    public constructor LateInitNumRef</*0*/ NN : kotlin.Number>()
    public constructor LateInitNumRef</*0*/ NN : kotlin.Number>(/*0*/ x: NN)
    public open override /*1*/ var x: NN
    private final var xx: NN?
    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 interface Ref</*0*/ T> {
    public abstract var x: 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 typealias LateNR</*0*/ Nt>  = LateInitNumRef<Nt>
