Skip to content

Commit ee1c607

Browse files
committed
Revert "Don't skip generic functions when arity is not alright"
This reverts commit 53047af.
1 parent 53047af commit ee1c607

File tree

5 files changed

+5
-392
lines changed

5 files changed

+5
-392
lines changed

src/compiler/checker.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37002,12 +37002,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3700237002
// use the resolvingSignature singleton to indicate that we deferred processing. This result will be
3700337003
// propagated out and eventually turned into silentNeverType (a type that is assignable to anything and
3700437004
// from which we never make inferences).
37005-
if (checkMode & CheckMode.SkipGenericFunctions && !node.typeArguments) {
37006-
const args = getEffectiveCallArguments(node);
37007-
if (some(callSignatures, candidate => hasCorrectArity(node, args, candidate) && isGenericFunctionReturningFunction(candidate))) {
37008-
skippedGenericFunction(node, checkMode);
37009-
return resolvingSignature;
37010-
}
37005+
if (checkMode & CheckMode.SkipGenericFunctions && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) {
37006+
skippedGenericFunction(node, checkMode);
37007+
return resolvingSignature;
3701137008
}
3701237009
// If the function is explicitly marked with `@class`, then it must be constructed.
3701337010
if (callSignatures.some(sig => isInJSFile(sig.declaration) && !!getJSDocClassTag(sig.declaration!))) {

tests/baselines/reference/genericCallAtYieldExpressionInGenericCall2.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ fn(function* <T>(queue: Enqueue<T>, value: T) {
7070
> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7171
>fn : <Eff extends Effect, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, any>) => (...args: Args) => any
7272
> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^
73-
>function* <T>(queue: Enqueue<T>, value: T) { yield* offer(queue, value);} : <T>(queue: Enqueue<T>, value: T) => Generator<any, void, any>
74-
> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
73+
>function* <T>(queue: Enqueue<T>, value: T) { yield* offer(queue, value);} : <T>(queue: Enqueue<T>, value: T) => Generator<never, void, never>
74+
> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7575
>queue : Enqueue<T>
7676
> : ^^^^^^^^^^
7777
>value : T

tests/baselines/reference/genericCallAtYieldExpressionInGenericCall3.symbols

Lines changed: 0 additions & 181 deletions
This file was deleted.

tests/baselines/reference/genericCallAtYieldExpressionInGenericCall3.types

Lines changed: 0 additions & 154 deletions
This file was deleted.

0 commit comments

Comments
 (0)