check return type of this type predicates (#57341)

This commit is contained in:
Zzzen
2024-04-08 13:37:24 -07:00
committed by GitHub
parent 13e64740c9
commit f608fc0a10
9 changed files with 535 additions and 3 deletions
+2 -1
View File
@@ -736,6 +736,7 @@ import {
isThisInTypeQuery,
isThisProperty,
isThisTypeParameter,
isThisTypePredicate,
isTransientSymbol,
isTupleTypeNode,
isTypeAlias,
@@ -21217,7 +21218,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
if (sourceTypePredicate) {
result &= compareTypePredicateRelatedTo(sourceTypePredicate, targetTypePredicate, reportErrors, errorReporter, compareTypes);
}
else if (isIdentifierTypePredicate(targetTypePredicate)) {
else if (isIdentifierTypePredicate(targetTypePredicate) || isThisTypePredicate(targetTypePredicate)) {
if (reportErrors) {
errorReporter!(Diagnostics.Signature_0_must_be_a_type_predicate, signatureToString(source));
}