Message392324
That is as intended, right?
On Thu, Apr 29, 2021 at 07:59 STINNER Victor <report@bugs.python.org> wrote:
>
> STINNER Victor <vstinner@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 <report@bugs.python.org>
> <https://bugs.python.org/issue43908>
> _______________________________________
>
--
--Guido (mobile) |
|
Date |
User |
Action |
Args |
2021-04-29 16:11:00 | Guido.van.Rossum | set | recipients:
+ Guido.van.Rossum, gvanrossum, vstinner, christian.heimes, Mark.Shannon, serhiy.storchaka, corona10, pablogsal, shihai1991, erlendaasland, shreyanavigyan |
2021-04-29 16:11:00 | Guido.van.Rossum | link | issue43908 messages |
2021-04-29 16:11:00 | Guido.van.Rossum | create | |
|