diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/DelegationChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/DelegationChecker.kt index ffee1e849e6..f0bbe0edbe4 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/DelegationChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/DelegationChecker.kt @@ -63,7 +63,7 @@ class DelegationChecker : SimpleDeclarationChecker { DescriptorUtils.getAllOverriddenDescriptors(delegatedDescriptor).filter { it.kind.isReal }.toSet() ) - DescriptorUtils.unwrapFakeOverride(delegatedToDescriptor).original - val nonAbstractReachable = reachableFromDelegated.filter { it.modality != Modality.ABSTRACT } + val nonAbstractReachable = reachableFromDelegated.filter { it.modality == Modality.OPEN } if (nonAbstractReachable.isNotEmpty()) { /*In case of MANY_IMPL_MEMBER_NOT_IMPLEMENTED error there could be several elements otherwise only one*/ diff --git a/compiler/testData/diagnostics/tests/delegation/clashes/finalMemberOverridden.kt b/compiler/testData/diagnostics/tests/delegation/clashes/finalMemberOverridden.kt index 81eb7d8b85c..5a99e5f74f4 100644 --- a/compiler/testData/diagnostics/tests/delegation/clashes/finalMemberOverridden.kt +++ b/compiler/testData/diagnostics/tests/delegation/clashes/finalMemberOverridden.kt @@ -38,18 +38,18 @@ class CBarT : IBarT { override val bar: T get() = null!! } -class Test1 : Final(), IFoo by CFoo() +class Test1 : Final(), IFoo by CFoo() -class Test2 : Final(), IBar by CBar() +class Test2 : Final(), IBar by CBar() -class Test3 : Final(), IQux by CQux() +class Test3 : Final(), IQux by CQux() -class Test4 : Derived(), IFoo by CFoo() +class Test4 : Derived(), IFoo by CFoo() -class Test5 : Derived(), IBar by CBar() +class Test5 : Derived(), IBar by CBar() -class Test6 : Derived(), IQux by CQux() +class Test6 : Derived(), IQux by CQux() -class Test7 : Final(), IBarT by CBarT() +class Test7 : Final(), IBarT by CBarT() -class Test8 : Final(), IBarT by CBar() +class Test8 : Final(), IBarT by CBar()