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