summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@dropbox.com>2016-04-18 14:39:54 (GMT)
committerGuido van Rossum <guido@dropbox.com>2016-04-18 14:39:54 (GMT)
commit49ed08fd0bf159fdc1f2f1fecfef48d43f1a733c (patch)
tree7cd98350e7c4d8fc382c2c7225edbff7b8370e36
parent27e1240af584b9ce78c377bbbb8345ce36bb33aa (diff)
parent5abcbb3ee531ed7587b465d487ec9b4bab03a7ff (diff)
downloadcpython-49ed08fd0bf159fdc1f2f1fecfef48d43f1a733c.zip
cpython-49ed08fd0bf159fdc1f2f1fecfef48d43f1a733c.tar.gz
cpython-49ed08fd0bf159fdc1f2f1fecfef48d43f1a733c.tar.bz2
typing.py: merge 3.5->3.6 (Tuple/ellipsis/equality).
-rw-r--r--Lib/test/test_typing.py6
-rw-r--r--Lib/typing.py3
2 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index b39efcf..47118ed 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -359,6 +359,12 @@ class TupleTests(TestCase):
self.assertTrue(issubclass(tuple, Tuple))
self.assertFalse(issubclass(Tuple, tuple)) # Can't have it both ways.
+ def test_equality(self):
+ assert Tuple[int] == Tuple[int]
+ assert Tuple[int, ...] == Tuple[int, ...]
+ assert Tuple[int] != Tuple[int, int]
+ assert Tuple[int] != Tuple[int, ...]
+
def test_tuple_subclass(self):
class MyTuple(tuple):
pass
diff --git a/Lib/typing.py b/Lib/typing.py
index 42a9ea3..d275011 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -705,7 +705,8 @@ class TupleMeta(TypingMeta):
def __eq__(self, other):
if not isinstance(other, TupleMeta):
return NotImplemented
- return self.__tuple_params__ == other.__tuple_params__
+ return (self.__tuple_params__ == other.__tuple_params__ and
+ self.__tuple_use_ellipsis__ == other.__tuple_use_ellipsis__)
def __hash__(self):
return hash(self.__tuple_params__)