Author: Lukas Diekmann <[email protected]>
Branch: list-strategies
Changeset: r47502:9b07ebaab89c
Date: 2011-04-21 12:42 +0200
http://bitbucket.org/pypy/pypy/changeset/9b07ebaab89c/
Log: Fixed getstorage_copy again
diff --git a/pypy/objspace/std/listobject.py b/pypy/objspace/std/listobject.py
--- a/pypy/objspace/std/listobject.py
+++ b/pypy/objspace/std/listobject.py
@@ -254,7 +254,7 @@
return []
def getstorage_copy(self, w_list):
- return self.cast_to_void_star(self.getitems_copy(w_list))
+ return self.cast_to_void_star([])
def append(self, w_list, w_item):
w_list.__init__(self.space, [w_item])
@@ -344,7 +344,8 @@
return self._getitems_range(w_list, True)
def getstorage_copy(self, w_list):
- return self.cast_to_void_star(self.getitems_copy(w_list))
+ # tuple is unmutable
+ return w_list.lstorage
getitems_copy = getitems
@@ -511,7 +512,8 @@
return [self.wrap(item) for item in
self.cast_from_void_star(w_list.lstorage)]
def getstorage_copy(self, w_list):
- return self.cast_to_void_star(self.getitems_copy(w_list))
+ items = self.cast_from_void_star(w_list.lstorage)[:]
+ return self.cast_to_void_star(items)
getitems = getitems_copy
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit