// LANGUAGE: +ProhibitImplementingVarByInheritedVal interface IVal { val a: String } interface IVar { var a: String } interface IVarDefault { var a: String get() = "" set(value) {} } open class CVal { val a: String = "default" } open class CVar { var a: String = "default" } class C1 : IVar, IVarDefault class C2 : CVal(), IVar class C3 : CVal(), IVarDefault class C4 : CVal(), IVar, IVarDefault class C5 : CVar(), IVar class C6 : CVar(), IVarDefault class C7 : CVar(), IVar, IVarDefault class C8(ival: IVal) : IVar, IVal by ival