Приходит на ум что-то такое: ``` open class X(val ...
# russian
m
Приходит на ум что-то такое:
Copy code
open class X(val a: String) {
    companion object {
        operator fun invoke(x: X) = if (x::class.java === X::class.java) x else X(x.a)
    }
}

class EvilX : X(override var a: String) {
    constructor(x: X) : this(x.a)
}