From 5283f7b7c67fe7d196432e915e425f581a23e37e Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 30 Jul 2021 17:37:45 +0300 Subject: [PATCH] Make EXPERIMENTAL_API_USAGE_ERR warning till 1.6 for fake override case --- .../kotlin/resolve/checkers/ExperimentalUsageChecker.kt | 7 ++++++- .../testsWithStdLib/experimental/implicitUsagesFuture.kt | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt index aca457d393a..1442d438eee 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt @@ -176,7 +176,12 @@ class ExperimentalUsageChecker(project: Project) : CallChecker { val result = SmartSet.create() if (this is CallableMemberDescriptor && kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) { for (overridden in overriddenDescriptors) { - result.addAll(overridden.loadExperimentalities(moduleAnnotationsResolver, languageVersionSettings, visited, useFutureError)) + result.addAll(overridden.loadExperimentalities( + moduleAnnotationsResolver, + languageVersionSettings, + visited, + useFutureError = !languageVersionSettings.supportsFeature(LanguageFeature.OptInContagiousSignatures) + )) } return result } diff --git a/compiler/testData/diagnostics/testsWithStdLib/experimental/implicitUsagesFuture.kt b/compiler/testData/diagnostics/testsWithStdLib/experimental/implicitUsagesFuture.kt index 5b18aeeb765..3635d075a13 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/experimental/implicitUsagesFuture.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/experimental/implicitUsagesFuture.kt @@ -49,7 +49,7 @@ interface NotExperimentalExtension : ExperimentalType { fun use(arg: NotExperimentalExtension) { arg.foo() - arg.bar() + arg.bar() } @Marker