Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r88008:3e5d31c2b04e
Date: 2016-11-01 08:59 +0000
http://bitbucket.org/pypy/pypy/changeset/3e5d31c2b04e/
Log: Add @unwrap_spec, fixes a translation error too
diff --git a/pypy/module/struct/interp_struct.py
b/pypy/module/struct/interp_struct.py
--- a/pypy/module/struct/interp_struct.py
+++ b/pypy/module/struct/interp_struct.py
@@ -128,19 +128,6 @@
self.index += size
return w_res
-def new_unpackiter(space, w_subtype, w_struct, w_buffer):
- buf = space.buffer_w(w_buffer, space.BUF_SIMPLE)
- w_res = space.allocate_instance(W_UnpackIter, w_subtype)
- w_res.__init__(w_struct, buf)
- return w_res
-
-W_UnpackIter.typedef = TypeDef("unpack_iterator",
- __new__=interp2app(new_unpackiter),
- __iter__=interp2app(W_UnpackIter.descr_iter),
- __next__=interp2app(W_UnpackIter.descr_next),
- #__length_hint__=
-)
-
class W_Struct(W_Root):
_immutable_fields_ = ["format", "size"]
@@ -185,5 +172,19 @@
iter_unpack=interp2app(W_Struct.descr_iter_unpack),
)
+@unwrap_spec(w_struct=W_Struct)
+def new_unpackiter(space, w_subtype, w_struct, w_buffer):
+ buf = space.buffer_w(w_buffer, space.BUF_SIMPLE)
+ w_res = space.allocate_instance(W_UnpackIter, w_subtype)
+ w_res.__init__(w_struct, buf)
+ return w_res
+
+W_UnpackIter.typedef = TypeDef("unpack_iterator",
+ __new__=interp2app(new_unpackiter),
+ __iter__=interp2app(W_UnpackIter.descr_iter),
+ __next__=interp2app(W_UnpackIter.descr_next),
+ #__length_hint__=
+)
+
def clearcache(space):
"""No-op on PyPy"""
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit