Author: Lukas Diekmann <lukas.diekm...@uni-duesseldorf.de>
Branch: set-strategies
Changeset: r49175:ca26985e470d
Date: 2011-05-24 11:17 +0200
http://bitbucket.org/pypy/pypy/changeset/ca26985e470d/

Log:    was not rpython

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
@@ -292,12 +292,6 @@
     def get_empty_storage(self):
         raise NotImplementedError
 
-    def init_from_setdata_w(self, w_set, setdata_w):
-        d = self.get_empty_dict()
-        for item_w in setdata_w.keys():
-            d[self.unwrap(item_w)] = None
-        w_set.sstorage = self.cast_to_void_star(d)
-
     def get_storage_from_list(self, list_w):
         setdata = self.get_empty_dict()
         for w_item in list_w:
@@ -377,8 +371,11 @@
         return keys_w
 
     def has_key(self, w_set, w_key):
-        dict_w = self.cast_from_void_star(w_set.sstorage)
-        return self.unwrap(w_key) in dict_w
+        if not self.is_correct_type(w_key):
+            #XXX switch object strategy, test
+            return False
+        d = self.cast_from_void_star(w_set.sstorage)
+        return self.unwrap(w_key) in d
 
     def equals(self, w_set, w_other):
         if w_set.length() != w_other.length():
@@ -587,7 +584,7 @@
         return type(w_key) is W_IntObject
 
     def unwrap(self, w_item):
-        return self.space.unwrap(w_item)
+        return self.space.int_w(w_item)
 
     def wrap(self, item):
         return self.space.wrap(item)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to