Author: Philip Jenvey <pjen...@underboss.org>
Branch: stdlib-2.7.12
Changeset: r87523:c6167130f731
Date: 2016-10-02 11:05 -0700
http://bitbucket.org/pypy/pypy/changeset/c6167130f731/

Log:    disallow kwargs

diff --git a/pypy/module/_weakref/interp__weakref.py 
b/pypy/module/_weakref/interp__weakref.py
--- a/pypy/module/_weakref/interp__weakref.py
+++ b/pypy/module/_weakref/interp__weakref.py
@@ -198,6 +198,9 @@
         if __args__.arguments_w:
             raise oefmt(space.w_TypeError,
                         "__init__ expected at most 2 arguments")
+        if __args__.keywords:
+            raise oefmt(space.w_TypeError,
+                        "ref() does not take keyword arguments")
 
     def descr_hash(self):
         if self.w_hash is not None:
diff --git a/pypy/module/_weakref/test/test_weakref.py 
b/pypy/module/_weakref/test/test_weakref.py
--- a/pypy/module/_weakref/test/test_weakref.py
+++ b/pypy/module/_weakref/test/test_weakref.py
@@ -22,6 +22,12 @@
         import _weakref
         raises(TypeError, _weakref.ref)
 
+    def test_no_kwargs(self):
+        import _weakref
+        class C(object):
+            pass
+        raises(TypeError, _weakref.ref, C(), callback=None)
+
     def test_callback(self):
         import _weakref, gc
         class A(object):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to