You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[builtins] fix return type of __lazy_import__() to a union - #16748
JadenV15
changed the title
[builtins] fix return type of __lazy_import__() to a union; closes #16747
[builtins] fix return type of __lazy_import__() to a union
Nov 9, 2026
In what situations would it return a module? The PEP only says it return a types.LazyImportType object, and a brief glance on the implementation seems to agree, although I might have overlooked a code path.
Yeah, it can return a regular module if lazy imports are disabled.
More generally, it can return anything at all if you manually put something in sys.modules, or if there's an import hook doing funny things. Therefore, there's an argument that the return type should be object (or Any).
Should we change the return type to object? I can see that going either way, but if you're manually calling __lazy_import__ you're already poking into internals and should be prepared for edge cases, so I'd favor using object to force users calling this function to confront those edge cases.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #16747