diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0872ee38e2b..e60afaeca66 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -20360,7 +20360,7 @@ namespace ts { const predicate = getTypePredicateOfSignature(signature); if (predicate && (predicate.kind === TypePredicateKind.AssertsThis || predicate.kind === TypePredicateKind.AssertsIdentifier)) { const flowType = getTypeAtFlowNode(flow.antecedent); - const type = getTypeFromFlowType(flowType); + const type = finalizeEvolvingArrayType(getTypeFromFlowType(flowType)); const narrowedType = predicate.type ? narrowTypeByTypePredicate(type, predicate, flow.node, /*assumeTrue*/ true) : predicate.kind === TypePredicateKind.AssertsIdentifier && predicate.parameterIndex >= 0 && predicate.parameterIndex < flow.node.arguments.length ? narrowTypeByAssertion(type, flow.node.arguments[predicate.parameterIndex]) : type;