From 398ddf116690ac3270954c9d4630557935e6cc60 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Thu, 9 Nov 2023 11:34:31 -0800 Subject: [PATCH] Fixed bug in the import resolver that allowed typeshed stubs and stub files within installed third-party libraries to take precedence over local modules. This addresses #5585. --- packages/pyright-internal/src/analyzer/importResolver.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/pyright-internal/src/analyzer/importResolver.ts b/packages/pyright-internal/src/analyzer/importResolver.ts index 85c2273329c4..23ac4a5fd06c 100644 --- a/packages/pyright-internal/src/analyzer/importResolver.ts +++ b/packages/pyright-internal/src/analyzer/importResolver.ts @@ -1775,6 +1775,12 @@ export class ImportResolver { } } + // Prefer local over third-party. We check local first, so we should never + // see the reverse. + if (bestImportSoFar.importType === ImportType.Local && newImport.importType === ImportType.ThirdParty) { + return bestImportSoFar; + } + // Prefer py.typed over non-py.typed. if (bestImportSoFar.pyTypedInfo && !newImport.pyTypedInfo) { return bestImportSoFar;