[pypy-svn] r68334 - in pypy/branch/improve-kwd-args/pypy/module/_weakref: . test
pedronis at codespeak.net
pedronis at codespeak.net
Mon Oct 12 15:41:03 CEST 2009
Author: pedronis
Date: Mon Oct 12 15:41:02 2009
New Revision: 68334
Modified:
pypy/branch/improve-kwd-args/pypy/module/_weakref/interp__weakref.py
pypy/branch/improve-kwd-args/pypy/module/_weakref/test/test_weakref.py
Log:
(pedronis, cfbolz): kill an unpack
Modified: pypy/branch/improve-kwd-args/pypy/module/_weakref/interp__weakref.py
==============================================================================
--- pypy/branch/improve-kwd-args/pypy/module/_weakref/interp__weakref.py (original)
+++ pypy/branch/improve-kwd-args/pypy/module/_weakref/interp__weakref.py Mon Oct 12 15:41:02 2009
@@ -143,12 +143,7 @@
return w_obj
-def descr__new__weakref(space, w_subtype, w_obj, __args__):
- args_w, kw_w = __args__.unpack()
- if args_w:
- w_callable = args_w[0]
- else:
- w_callable = space.w_None
+def descr__new__weakref(space, w_subtype, w_obj, w_callable=None):
lifeline = w_obj.getweakref()
if lifeline is None:
lifeline = WeakrefLifeline(space)
@@ -189,7 +184,7 @@
which is called with the weak reference as an argument when 'obj'
is about to be finalized.""",
__new__ = interp2app(descr__new__weakref,
- unwrap_spec=[ObjSpace, W_Root, W_Root, Arguments]),
+ unwrap_spec=[ObjSpace, W_Root, W_Root, W_Root]),
__eq__ = interp2app(descr__eq__,
unwrap_spec=[ObjSpace, W_Weakref, W_Root]),
__ne__ = interp2app(descr__ne__,
Modified: pypy/branch/improve-kwd-args/pypy/module/_weakref/test/test_weakref.py
==============================================================================
--- pypy/branch/improve-kwd-args/pypy/module/_weakref/test/test_weakref.py (original)
+++ pypy/branch/improve-kwd-args/pypy/module/_weakref/test/test_weakref.py Mon Oct 12 15:41:02 2009
@@ -409,3 +409,11 @@
a = A()
assert _weakref.ref(a) == a
+ def test_strange_arguments(self):
+ import _weakref
+ class A(object):
+ pass
+
+ a = A()
+ raises(TypeError, _weakref.ref, a, lambda x: None, 3)
+ raises(TypeError, _weakref.ref, a, lambda x: None, b=3)
More information about the Pypy-commit
mailing list