83845fbab5
If an intersection override overrides members A.x, B.x and C.x and B <: A, then A.x is subsumed by B.x, and we don't add it to the list of overridden members. This fixes a false-positive MANY_IMPL_MEMBER_NOT_ IMPLEMENTED where an implementation is subsumed by an abstract override. ^KT-57092 Fixed
22 lines
516 B
Kotlin
Vendored
22 lines
516 B
Kotlin
Vendored
// SKIP_TXT
|
|
// FIR_IDENTICAL
|
|
// ISSUE: KT-57092
|
|
|
|
interface InterfaceWithDefault {
|
|
val hostKind: Int get() = 24
|
|
}
|
|
|
|
interface SubInterfaceWithoutDefault : InterfaceWithDefault {
|
|
// SubInterfaceWithoutDefault.hostKind subsumes InterfaceWithDefault.hostKind, therefore no error.
|
|
override val hostKind: Int
|
|
}
|
|
|
|
open class ClassWithDefault : InterfaceWithDefault {
|
|
override val hostKind: Int get() = 42
|
|
}
|
|
|
|
class InheritsAll :
|
|
ClassWithDefault(),
|
|
SubInterfaceWithoutDefault,
|
|
InterfaceWithDefault
|