Don't allow keyword arguments to reversed().
diff --git a/Lib/test/test_enumerate.py b/Lib/test/test_enumerate.py
index a27846f..074179c 100644
--- a/Lib/test/test_enumerate.py
+++ b/Lib/test/test_enumerate.py
@@ -138,6 +138,8 @@
for data in 'abc', range(5), tuple(enumerate('abc')), A(), xrange(1,17,5):
self.assertEqual(list(data)[::-1], list(reversed(data)))
self.assertRaises(TypeError, reversed, {})
+ # don't allow keyword arguments
+ self.assertRaises(TypeError, reversed, [], a=1)
def test_xrange_optimization(self):
x = xrange(1)
diff --git a/Objects/enumobject.c b/Objects/enumobject.c
index 0bacc83..dfa738d 100644
--- a/Objects/enumobject.c
+++ b/Objects/enumobject.c
@@ -224,7 +224,10 @@
PyObject *seq;
reversedobject *ro;
- if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq))
+ if (type == &PyReversed_Type && !_PyArg_NoKeywords("reversed()", kwds))
+ return NULL;
+
+ if (!PyArg_UnpackTuple(args, "reversed", 1, 1, &seq) )
return NULL;
if (PyObject_HasAttrString(seq, "__reversed__"))