diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt index 24f7d9dc939..62955ada93e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ResolutionStages.kt @@ -639,8 +639,11 @@ internal object CheckDeprecatedSinceKotlin : ResolutionStage() { internal object LowerPriorityIfDynamic : ResolutionStage() { override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) { - if (candidate.symbol.origin is FirDeclarationOrigin.DynamicScope) { - candidate.addDiagnostic(LowerPriorityForDynamic) + when { + candidate.symbol.origin is FirDeclarationOrigin.DynamicScope -> + candidate.addDiagnostic(LowerPriorityForDynamic) + candidate.callInfo.isImplicitInvoke && candidate.callInfo.explicitReceiver?.typeRef?.coneTypeSafe() != null -> + candidate.addDiagnostic(LowerPriorityForDynamic) } } }