Skip to content

Commit

Permalink
Revert "Defer processing of nested generic calls that return construc… (
Browse files Browse the repository at this point in the history
  • Loading branch information
sandersn committed Mar 12, 2024
1 parent 3e91592 commit e660490
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 170 deletions.
10 changes: 3 additions & 7 deletions src/compiler/checker.ts
Expand Up @@ -35187,7 +35187,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
// use the resolvingSignature singleton to indicate that we deferred processing. This result will be
// propagated out and eventually turned into silentNeverType (a type that is assignable to anything and
// from which we never make inferences).
if (checkMode & CheckMode.SkipGenericFunctions && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunctionOrConstructor)) {
if (checkMode & CheckMode.SkipGenericFunctions && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) {
skippedGenericFunction(node, checkMode);
return resolvingSignature;
}
Expand All @@ -35200,12 +35200,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
return resolveCall(node, callSignatures, candidatesOutArray, checkMode, callChainFlags);
}

function isGenericFunctionReturningFunctionOrConstructor(signature: Signature) {
if (!signature.typeParameters) {
return false;
}
const returnType = getReturnTypeOfSignature(signature);
return isFunctionType(returnType) || isConstructorType(returnType);
function isGenericFunctionReturningFunction(signature: Signature) {
return !!(signature.typeParameters && isFunctionType(getReturnTypeOfSignature(signature)));
}

/**
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit e660490

Please sign in to comment.