[pypy-svn] pypy default: Turn functool.partial into a new-style class.
amauryfa
commits-noreply at bitbucket.org
Wed Jan 26 00:21:19 CET 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch:
Changeset: r41332:c837c7522105
Date: 2011-01-26 00:19 +0100
http://bitbucket.org/pypy/pypy/changeset/c837c7522105/
Log: Turn functool.partial into a new-style class. This may help the JIT
on socket objects.
diff --git a/lib_pypy/_functools.py b/lib_pypy/_functools.py
--- a/lib_pypy/_functools.py
+++ b/lib_pypy/_functools.py
@@ -3,12 +3,11 @@
# reduce() has moved to _functools in Python 2.6+.
reduce = reduce
-class partial:
+class partial(object):
"""
partial(func, *args, **keywords) - new function with partial application
of the given arguments and keywords.
"""
- __slots__ = ['func', 'args', 'keywords']
def __init__(self, func, *args, **keywords):
if not callable(func):
diff --git a/lib-python/modified-2.7.0/test/test_functools.py b/lib-python/modified-2.7.0/test/test_functools.py
--- a/lib-python/modified-2.7.0/test/test_functools.py
+++ b/lib-python/modified-2.7.0/test/test_functools.py
@@ -45,6 +45,8 @@
# attributes should not be writable
if not isinstance(self.thetype, type):
return
+ if not test_support.check_impl_detail():
+ return
self.assertRaises(TypeError, setattr, p, 'func', map)
self.assertRaises(TypeError, setattr, p, 'args', (1, 2))
self.assertRaises(TypeError, setattr, p, 'keywords', dict(a=1, b=2))
More information about the Pypy-commit
mailing list