summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-08-25 17:10:17 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-08-25 17:10:17 (GMT)
commit4924db176bdd0b4f93bf67c16487f468a1644c1c (patch)
tree63d4c7db1118b51e1d67fd72041115c9c671fcb3
parentc8f80345126808cd25c77f008b839449a922771f (diff)
downloadcpython-4924db176bdd0b4f93bf67c16487f468a1644c1c.zip
cpython-4924db176bdd0b4f93bf67c16487f468a1644c1c.tar.gz
cpython-4924db176bdd0b4f93bf67c16487f468a1644c1c.tar.bz2
Record a clue about why __or__ is not union, etc.
-rw-r--r--Lib/sets.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/Lib/sets.py b/Lib/sets.py
index d422591..ff0ace0 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -141,6 +141,11 @@ class BaseSet(object):
# Standard set operations: union, intersection, both differences.
# Each has an operator version (e.g. __or__, invoked with |) and a
# method version (e.g. union).
+ # Subtle: Each pair requires distinct code so that the outcome is
+ # correct when the type of other isn't suitable. For example, if
+ # we did "union = __or__" instead, then Set().union(3) would return
+ # NotImplemented instead of raising TypeError (albeit that *why* it
+ # raises TypeError as-is is also a bit subtle).
def __or__(self, other):
"""Return the union of two sets as a new set.