[FIR] Unwrap substitution overrides for multiple default values

Otherwise, duplicate diagnostics may be reported on
subtypes of the type that actually declares the
problematic override.
This commit is contained in:
Nikolay Lunyak
2023-09-18 13:18:01 +03:00
committed by Space Team
parent 76fa812949
commit 2801db0e59
3 changed files with 6 additions and 17 deletions
@@ -1,15 +0,0 @@
interface A<T> {
fun foo(x: Int = 42): Int
}
open class B<K> {
fun foo(x: Int = 239) = x
}
interface C<E> {
fun foo(x: Int): Int
}
open <!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE!>class Z<!><R> : A<R>, B<R>(), C<R>
<!MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE_DEPRECATION_WARNING!>class N<!><W> : Z<W>()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface A<T> {
fun foo(x: Int = 42): Int
}