New submission from Finite State Machine <pyt...@state-machine.ca>:
The following Python script: from dataclasses import dataclass @dataclass class A: mro: object x: object Results in the following unexpected exception: Traceback (most recent call last): File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/Users/dsuffling/names/junk.py", line 6, in <module> class A: File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/dataclasses.py", line 1178, in dataclass return wrap(cls) File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/dataclasses.py", line 1169, in wrap return _process_class(cls, init, repr, eq, order, unsafe_hash, File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/dataclasses.py", line 1019, in _process_class _init_fn(all_init_fields, File "/Users/dsuffling/.pyenv/versions/3.10.0/lib/python3.10/dataclasses.py", line 540, in _init_fn raise TypeError(f'non-default argument {f.name!r} ' TypeError: non-default argument 'x' follows default argument The name of the first attribute ('mro') is critical; without it the problem does not occur. It appears that 'mro' is somehow interacting with the 'mro' attribute of the 'type' object. This issue has been verified to occur with CPython 3.10.0. ---------- components: Library (Lib) messages: 404378 nosy: finite-state-machine priority: normal severity: normal status: open title: field "mro" behaves strangely in dataclass type: behavior versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue45531> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com