From dbd99767e45293e885d13bfce717b30444e691f7 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Wed, 8 Nov 2023 21:25:36 -0800 Subject: [PATCH] Fixed a bug that led to a false positive error when calling the same generic function multiple times in a call expression. This bug specifically affected the case where the generic function used PEP 695 syntax. This addresses #6386. --- packages/pyright-internal/src/analyzer/typeEvaluator.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/pyright-internal/src/analyzer/typeEvaluator.ts b/packages/pyright-internal/src/analyzer/typeEvaluator.ts index 6db60b6cd889..d9b7405bba30 100644 --- a/packages/pyright-internal/src/analyzer/typeEvaluator.ts +++ b/packages/pyright-internal/src/analyzer/typeEvaluator.ts @@ -17032,7 +17032,9 @@ export function createTypeEvaluator(importLookup: ImportLookup, evaluatorOptions // accumulate the list of type parameters upfront. const typeParametersSeen: TypeVarType[] = []; if (node.typeParameters) { - functionType.details.typeParameters = evaluateTypeParameterList(node.typeParameters); + functionType.details.typeParameters = evaluateTypeParameterList(node.typeParameters).map((typeParam) => + convertToInstance(typeParam) + ); } else { functionType.details.typeParameters = typeParametersSeen; }