[FIR] Improve UPPER_BOUND_VIOLATED message

Suggest removing explicit type arguments when the upper bound is a
captured type since the only way to satisfy the upper bounds is
by letting the type variable be inferred to its bound.

#KT-65681 Fixed
This commit is contained in:
Kirill Rakhman
2024-02-09 16:41:43 +01:00
committed by Space Team
parent 91e4837c95
commit 58264e177f
11 changed files with 31 additions and 6 deletions
@@ -433,7 +433,7 @@ object FirErrors {
val RECURSION_IN_IMPLICIT_TYPES: KtDiagnosticFactory0 by error0<PsiElement>()
val INFERENCE_ERROR: KtDiagnosticFactory0 by error0<PsiElement>()
val PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT: KtDiagnosticFactory0 by error0<PsiElement>()
val UPPER_BOUND_VIOLATED: KtDiagnosticFactory2<ConeKotlinType, ConeKotlinType> by error2<PsiElement, ConeKotlinType, ConeKotlinType>()
val UPPER_BOUND_VIOLATED: KtDiagnosticFactory3<ConeKotlinType, ConeKotlinType, String> by error3<PsiElement, ConeKotlinType, ConeKotlinType, String>()
val UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION: KtDiagnosticFactory2<ConeKotlinType, ConeKotlinType> by error2<PsiElement, ConeKotlinType, ConeKotlinType>()
val TYPE_ARGUMENTS_NOT_ALLOWED: KtDiagnosticFactory1<String> by error1<PsiElement, String>()
val TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED: KtDiagnosticFactory0 by error0<PsiElement>()