Files
kotlin-fork/compiler/testData/diagnostics/tests/overload/noConflictingOverloadsWithDeprecated/ConflictingOverloadsIdenticalExtFunsInPackage.fir.kt
T
marat.akhin 968c116ecd [K2] Do not report CONFLICTING_OVERLOADS for hidden callables.
This makes sense as such callables do not conflict on their use-sites,
because a hidden callable loses to a non-hidden one when doing
overload resolution.

We achieve this by not considering such callables as conflicting when
collecting them in FirDeclarationCollector.
A callable is hidden if it will be hidden from the overload resolution,
meaning it has a `Deprecated` or `DeprecatedSinceKotlin` annotation.

NB: this also impacts `REDECLARATION` diagnostic for properties, as they
can also be marked as `Deprecated`.

NB: this change ignores local callables, as they are ignored
w.r.t. `Deprecated` in K2.

^KT-22004 Fixed
2023-10-05 13:10:34 +00:00

7 lines
133 B
Kotlin
Vendored

package extensionFunctions
fun Int.qwe(a: Float) = 1
@Deprecated("qwe", level = DeprecationLevel.HIDDEN)
fun Int.qwe(a: Float) = 2