diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 53ded49daed..958ceae0395 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -24448,7 +24448,10 @@ namespace ts { const bodySignature = getSignatureFromDeclaration(bodyDeclaration); for (const signature of signatures) { if (!isImplementationCompatibleWithOverload(bodySignature, signature)) { - error(signature.declaration, Diagnostics.This_overload_signature_is_not_compatible_with_its_implementation_signature); + addRelatedInfo( + error(signature.declaration, Diagnostics.This_overload_signature_is_not_compatible_with_its_implementation_signature), + createDiagnosticForNode(bodyDeclaration, Diagnostics.The_implementation_signature_is_declared_here) + ); break; } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index c0686d10db6..09b0f721292 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2585,6 +2585,10 @@ "category": "Error", "code": 2749 }, + "The implementation signature is declared here.": { + "category": "Error", + "code": 2750 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error",