Author: Lukas Diekmann <lukas.diekm...@uni-duesseldorf.de>
Branch: set-strategies
Changeset: r49221:79858af1738c
Date: 2011-10-11 14:45 +0200
http://bitbucket.org/pypy/pypy/changeset/79858af1738c/

Log:    using a for loop is much simpler here

diff --git a/pypy/objspace/std/setobject.py b/pypy/objspace/std/setobject.py
--- a/pypy/objspace/std/setobject.py
+++ b/pypy/objspace/std/setobject.py
@@ -391,20 +391,11 @@
 
     def _difference_wrapped(self, w_set, w_other):
         d_new = self.get_empty_dict()
-        # XXX why not just:
-        # for obj in self.unerase(w_set.sstorage):
-        #    w_item = self.wrap(obj)
-        #    ...
-        w_iter = self.space.iter(w_set)
-        while True:
-            try:
-                w_item = self.space.next(w_iter)
-                if not w_other.has_key(w_item):
-                    d_new[w_item] = None
-            except OperationError, e:
-                if not e.match(self.space, self.space.w_StopIteration):
-                    raise
-                break;
+        for obj in self.unerase(w_set.sstorage):
+            w_item = self.wrap(obj)
+            if not w_other.has_key(w_item):
+                d_new[w_item] = None
+
         strategy = self.space.fromcache(ObjectSetStrategy)
         return strategy.erase(d_new)
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to