Guido van Rossum <gvanros...@gmail.com> added the comment:
That is as intended, right? On Thu, Apr 29, 2021 at 07:59 STINNER Victor <rep...@bugs.python.org> wrote: > > STINNER Victor <vstin...@python.org> added the comment: > > check_set_special_type_attr() is used to prevent setting the following > attributes: > > * __name__ > * __qualname__ > * __module__ > * __bases__ > * __doc__ > > Right now, I cannot set the attribues on array.array type: > > $ ./python > Python 3.10.0a7+ (heads/debug_doc2-dirty:0623fdb60d, Apr 29 2021, 12:06:18) > >>> import array > > >>> array.array.__name__ = 'newname' > TypeError: can't set attributes of built-in/extension type 'array.array' > > >>> array.array.__qualname__ = 'newname' > TypeError: can't set attributes of built-in/extension type 'array.array' > > >>> array.array.__module__ = 'new module' > TypeError: can't set attributes of built-in/extension type 'array.array' > > >>> array.array.__bases__ = (int,) > TypeError: can't set attributes of built-in/extension type 'array.array' > > >>> array.array.__doc__ = 'doc' > TypeError: can't set attributes of built-in/extension type 'array.array' > > I guess that type_setattro() is used and it checks for > Py_TPFLAGS_IMMUTABLETYPE flag early. > > ---------- > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <https://bugs.python.org/issue43908> > _______________________________________ > -- --Guido (mobile) ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43908> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com