Author: Armin Rigo <ar...@tunes.org> Branch: py3.5 Changeset: r89917:9ff55469638c Date: 2017-02-04 09:33 +0100 http://bitbucket.org/pypy/pypy/changeset/9ff55469638c/
Log: hg merge default diff --git a/pypy/interpreter/function.py b/pypy/interpreter/function.py --- a/pypy/interpreter/function.py +++ b/pypy/interpreter/function.py @@ -207,21 +207,10 @@ def getdict(self, space): if self.w_func_dict is None: - if not self.can_change_code: - raise oefmt(space.w_AttributeError, - "cannot set extra attributes on built-in functions") self.w_func_dict = space.newdict(instance=True) return self.w_func_dict - def getdictvalue(self, space, attr): - if not self.can_change_code: - return None - return W_Root.getdictvalue(self, space, attr) - def setdict(self, space, w_dict): - if not self.can_change_code: - raise oefmt(space.w_AttributeError, - "cannot set __dict__ on built-in functions") if not space.isinstance_w(w_dict, space.w_dict): raise oefmt(space.w_TypeError, "setting function's dictionary to a non-dict") @@ -706,7 +695,7 @@ func.defs_w, None, func.closure, None, func.name) self.w_doc = func.w_doc - #self.w_func_dict = func.w_func_dict---nowadays, always None + self.w_func_dict = func.w_func_dict self.w_module = func.w_module self.w_kw_defs = func.w_kw_defs diff --git a/pypy/interpreter/test/test_function.py b/pypy/interpreter/test/test_function.py --- a/pypy/interpreter/test/test_function.py +++ b/pypy/interpreter/test/test_function.py @@ -163,14 +163,6 @@ raises(TypeError, "dir.__code__ = f.__code__") raises(TypeError, "list.append.__code__ = f.__code__") - def test_write_extra_attributes_builtin_forbidden(self): - raises(AttributeError, "dir.abcd = 5") - raises(AttributeError, "list.append.im_func.efgh = 6") - raises(AttributeError, "dir.__dict__") - raises(AttributeError, "dir.__dict__ = {}") - c = all.__call__ # this should work - assert c([4, 5, 6]) is True - def test_set_module_to_name_eagerly(self): skip("fails on PyPy but works on CPython. Unsure we want to care") exec('''if 1: diff --git a/pypy/module/micronumpy/compile.py b/pypy/module/micronumpy/compile.py --- a/pypy/module/micronumpy/compile.py +++ b/pypy/module/micronumpy/compile.py @@ -65,6 +65,8 @@ w_KeyError = W_TypeObject("KeyError") w_SystemExit = W_TypeObject("SystemExit") w_KeyboardInterrupt = W_TypeObject("KeyboardInterrupt") + w_RuntimeError = W_TypeObject("RuntimeError") + w_RecursionError = W_TypeObject("RecursionError") # py3.5 w_VisibleDeprecationWarning = W_TypeObject("VisibleDeprecationWarning") w_None = W_Root() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit