zt
a
Type of 'a' doesn't match the type of the overridden 'var' property 'var a: Letter' defined in '/Base'
open class Base { open var a: Letter = Letter() } class BaseExt : Base() { override var a: A = A() } open class Letter class A : Letter()
Joffrey
A
Letter
val
var
val ext: Base = BaseExt() ext.a = Letter() // respects the interface of Base, yet shouldn't be allowed for BaseExt
A modern programming language that makes developers happier.