Content-Length: 292096 | pFad | https://github.com/python/cpython/issues/94254

B9 _struct.Struct should be immutable, missing Py_TPFLAGS_IMMUTABLETYPE flag · Issue #94254 · python/cpython · GitHub
Skip to content

_struct.Struct should be immutable, missing Py_TPFLAGS_IMMUTABLETYPE flag #94254

@kumaraditya303

Description

@kumaraditya303

In Python 3.8:

Python 3.8.12 (default, Oct  4 2021, 15:56:52) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _struct
>>> _struct.Struct.x = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't set attributes of built-in/extension type 'Struct'
>>> 

On main:

Python 3.12.0a0 (heads/gh-94207-fix-struct-module-leak:9d41baebd0, Jun 25 2022, 07:23:49) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _struct
>>> _struct.Struct.x=1
>>> _struct.Struct.x
1

This happens because _struct.Struct is missing Py_TPFLAGS_IMMUTABLETYPE in type flags.

cc: @erlend-aasland @encukou

Metadata

Metadata

Labels

extension-modulesC modules in the Modules dirtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions









    ApplySandwichStrip

    pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


    --- a PPN by Garber Painting Akron. With Image Size Reduction included!

    Fetched URL: https://github.com/python/cpython/issues/94254

    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy