diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt index 11f217a42d6..96af2921580 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/DiagnosticReporterByTrackingStrategy.kt @@ -201,6 +201,14 @@ class DiagnosticReporterByTrackingStrategy( if (reportConstantTypeMismatch(constraintError, deparenthesized)) return trace.report(Errors.TYPE_MISMATCH.on(deparenthesized, constraintError.upperType, constraintError.lowerType)) } + + (position as? ExpectedTypeConstraintPosition)?.let { + val call = it.topLevelCall.psiKotlinCall.psiCall.callElement.safeAs() + reportIfNonNull(call) { + trace.report(Errors.TYPE_MISMATCH.on(it, constraintError.upperType, constraintError.lowerType)) + } + } + (position as? ExplicitTypeParameterConstraintPosition)?.let { val typeArgumentReference = (it.typeArgument as SimpleTypeArgumentImpl).typeReference trace.report(UPPER_BOUND_VIOLATED.on(typeArgumentReference, constraintError.upperType, constraintError.lowerType))