open class A {
    internal open val field = "F"

    internal open fun test(): String = "A"
}

class Z : A() {
    override fun test(): String = super.test()

    override val field = super.field
}

fun box() : String {
    val z = Z().test()
    if (z != "A") return "fail 1: $z"

    val f = Z().field
    if (f != "F") return "fail 2: $f"

    return "OK"
}