Content-Length: 268318 | pFad | https://github.com/python/cpython/issues/96142

24 `match_args`, `slots` and possibly `kw_only` missing from `__dataclass_params__` · Issue #96142 · python/cpython · GitHub
Skip to content

match_args, slots and possibly kw_only missing from __dataclass_params__ #96142

@da-woods

Description

@da-woods

Bug report

Dataclasses have an undocumented __dataclass_params__ class-attribute which appears to document the flags sent to the dataclass decorator:

cpython/Lib/dataclasses.py

Lines 903 to 904 in 6ec57e7

setattr(cls, _PARAMS, _DataclassParams(init, repr, eq, order,
unsafe_hash, frozen))

A few new flags have been added since the initial implementation of dataclasses. These don't seem to have been added to the __dataclass_params__ field. In the case of kw_only I think that makes sense - it's effectively controlled at a per-field level and the parameter to the dataclass decorator is just a convenience. However, the others seem like a genuine omission.

Your environment

I've just looked at the code for the current main branch.

Metadata

Metadata

Assignees

Labels

stdlibStandard Library Python modules in the Lib/ directorytype-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/96142

    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy