From f4c982bd510d35069c34e3c80ab2f92d6ab01d1a Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Sat, 23 Apr 2022 09:20:08 -0700 Subject: [PATCH 1/2] Experiment: remove bytearray -> bytes promotion Help gauge the impact of #12657 --- mypy/semanal_classprop.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mypy/semanal_classprop.py b/mypy/semanal_classprop.py index 4be57b64342e..23901825b8fe 100644 --- a/mypy/semanal_classprop.py +++ b/mypy/semanal_classprop.py @@ -28,10 +28,6 @@ # as some functions only accept bytes objects. Here convenience # trumps safety. TYPE_PROMOTIONS_PYTHON3: Final = TYPE_PROMOTIONS.copy() -TYPE_PROMOTIONS_PYTHON3.update({ - 'builtins.bytearray': 'bytes', - 'builtins.memoryview': 'bytes', -}) # Hard coded type promotions for Python 2. # @@ -41,8 +37,6 @@ TYPE_PROMOTIONS_PYTHON2: Final = TYPE_PROMOTIONS.copy() TYPE_PROMOTIONS_PYTHON2.update({ 'builtins.str': 'unicode', - 'builtins.bytearray': 'str', - 'builtins.memoryview': 'str', }) From 9cc502b98dc93eb97a4fc59891f67274c25d1db5 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Wed, 11 Jan 2023 20:00:10 -0800 Subject: [PATCH 2/2] Use the flags --- mypy/options.py | 4 ++-- mypy/semanal_classprop.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mypy/options.py b/mypy/options.py index 92c96a92c531..61dc148995ab 100644 --- a/mypy/options.py +++ b/mypy/options.py @@ -340,8 +340,8 @@ def __init__(self) -> None: # Deprecated reverse version of the above, do not use. self.enable_recursive_aliases = False - self.disable_bytearray_promotion = False - self.disable_memoryview_promotion = False + self.disable_bytearray_promotion = True + self.disable_memoryview_promotion = True # To avoid breaking plugin compatibility, keep providing new_semantic_analyzer @property diff --git a/mypy/semanal_classprop.py b/mypy/semanal_classprop.py index 62105789b219..5d21babcc597 100644 --- a/mypy/semanal_classprop.py +++ b/mypy/semanal_classprop.py @@ -34,6 +34,8 @@ TYPE_PROMOTIONS: Final = { "builtins.int": "float", "builtins.float": "complex", + "builtins.bytearray": "bytes", + "builtins.memoryview": "bytes", }