diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ac8a4ac89a4..a83c1027ad1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4987,7 +4987,8 @@ namespace ts { const sourceReturnType = getReturnTypeOfSignature(erasedSource); const targetReturnType = getReturnTypeOfSignature(erasedTarget); - if (checkTypeRelatedTo(sourceReturnType, targetReturnType, assignableRelation, /*errorNode*/ undefined) + if (targetReturnType === voidType + || checkTypeRelatedTo(sourceReturnType, targetReturnType, assignableRelation, /*errorNode*/ undefined) || checkTypeRelatedTo(targetReturnType, sourceReturnType, assignableRelation, /*errorNode*/ undefined)) { const anyReturningSource = cloneSignature(erasedSource); const anyReturningTarget = cloneSignature(erasedTarget);