From f88e7b0a3573091e9185149c22b2c78692d0daf2 Mon Sep 17 00:00:00 2001 From: knQzx <75641500+knQzx@users.noreply.github.com> Date: Mon, 30 Mar 2026 23:06:55 +0200 Subject: [PATCH 1/2] track missing stub packages even when ignore_missing_imports is set --- mypy/build.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mypy/build.py b/mypy/build.py index 98caaaec2dcf9..4713c438377b0 100644 --- a/mypy/build.py +++ b/mypy/build.py @@ -3414,6 +3414,12 @@ def find_module_and_diagnose( if caller_state: if not (ignore_missing_imports or in_partial_package(id, manager)): module_not_found(manager, caller_line, caller_state, id, result) + elif result is ModuleNotFoundReason.APPROVED_STUBS_NOT_INSTALLED: + # Even when ignoring missing imports, track approved stub packages + # so that --install-types can still install them. + dist = stub_distribution_name(id) + if dist: + manager.missing_stub_packages.add(dist) raise ModuleNotFound elif root_source: # If we can't find a root source it's always fatal. From 2bd5b64118e041d6dda31d379638589d07d70687 Mon Sep 17 00:00:00 2001 From: knQzx <75641500+knQzx@users.noreply.github.com> Date: Mon, 30 Mar 2026 23:21:04 +0200 Subject: [PATCH 2/2] remove comment --- mypy/build.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/mypy/build.py b/mypy/build.py index 4713c438377b0..6152d97c08860 100644 --- a/mypy/build.py +++ b/mypy/build.py @@ -3415,8 +3415,6 @@ def find_module_and_diagnose( if not (ignore_missing_imports or in_partial_package(id, manager)): module_not_found(manager, caller_line, caller_state, id, result) elif result is ModuleNotFoundReason.APPROVED_STUBS_NOT_INSTALLED: - # Even when ignoring missing imports, track approved stub packages - # so that --install-types can still install them. dist = stub_distribution_name(id) if dist: manager.missing_stub_packages.add(dist)