| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
When a module attribute was a lazy import placeholder, module attribute lookup called the module's __getattr__ before resolving it. This was needed while lazy from-imports published placeholders on the source module. That no longer happens, so the check only affected the module's own lazy imports: a catch-all __getattr__ hid them, unlike eager imports. Resolve the placeholder directly.
There was a problem hiding this comment.
LGTM!
Sorry, something went wrong.
|
Updated the news entry per request |
Sorry, something went wrong.
|
Thanks @brittanyrey for the PR, and @encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.15. |
Sorry, something went wrong.
|
GH-159022 is a backport of this pull request to the 3.15 branch. |
Sorry, something went wrong.
…rts (GH-158825) (GH-159022) When a module attribute was a lazy import placeholder, module attribute lookup called the module's __getattr__ before resolving it. This was needed while lazy from-imports published placeholders on the source module. That no longer happens, so the check only affected the module's own lazy imports: a catch-all __getattr__ hid them, unlike eager imports. Resolve the placeholder directly. (cherry picked from commit 56f9837) Co-authored-by: Brittany Reynoso <breynoso@meta.com>
| Back | FazBrowse Home | New Git URL |
Module attribute lookup called the module's getattr before resolving a lazy import placeholder.
That was the fix for gh-144957, needed while lazy from imports put placeholders into the source module. gh-150052 removed that, so the check now only shadows a module's own lazy imports.
This fixes that issue and adds a new load bearing test.