diff options
author | Christian Tismer <tismer@stackless.com> | 2021-04-19 13:06:01 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2021-04-19 12:07:43 +0000 |
commit | 66b072286ba9a26c6b93fe5f776aaeca0cd07a83 (patch) | |
tree | 4cd028c862514f1c7a4f9eea9fb9ee8b7428b5c4 /sources | |
parent | a6ebc0394d709c84c9ea7bb736a65b8cce73bb64 (diff) |
PyPy-compat: Avoid the __builtins__ quirk and import builtins, instead
The use of __builtins__ is an old wart of Python.
In some contexts this is a dict, in others it is a module.
PyPy treats it always as a module.
Instead of using the implicitly existing __builtins__
dict, we now import the builtins module which never fails.
Task-number: PYSIDE-535
Change-Id: I71d14a69051b177273be2ce542694221bf61add2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources')
-rw-r--r-- | sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py index 48db70156..84fa7fc49 100644 --- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py +++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py @@ -93,12 +93,13 @@ def feature_import(*args, **kwds): return feature_import(*args, **kwds) +import builtins import signature_bootstrap from shibokensupport import signature, feature as __feature__ signature.get_signature = signature_bootstrap.get_signature # PYSIDE-1019: Publish the __feature__ dictionary. __feature__.pyside_feature_dict = signature_bootstrap.pyside_feature_dict -__builtins__["__feature_import__"] = signature_bootstrap.__feature_import__ +builtins.__feature_import__ = signature_bootstrap.__feature_import__ del signature_bootstrap def _get_modname(mod): @@ -173,7 +174,7 @@ if "PySide6" in sys.modules: # __feature__ is already in sys.modules, so this is actually no import import PySide6.support.__feature__ sys.modules["__feature__"] = PySide6.support.__feature__ - __builtins__["__orig_import__"] = __builtins__["__import__"] - __builtins__["__import__"] = __builtins__["__feature_import__"] + builtins.__orig_import__ = builtins.__import__ + builtins.__import__ = builtins.__feature_import__ # end of file |