aboutsummaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2021-04-19 13:06:01 +0200
committerChristian Tismer <tismer@stackless.com>2021-04-19 12:07:43 +0000
commit66b072286ba9a26c6b93fe5f776aaeca0cd07a83 (patch)
tree4cd028c862514f1c7a4f9eea9fb9ee8b7428b5c4 /sources
parenta6ebc0394d709c84c9ea7bb736a65b8cce73bb64 (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.py7
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