Skip to content

[Enum] Enhance repr() when inheriting from dataclass #94943

@ethanfurman

Description

@ethanfurman

In 3.10 and prior, a combined dataclass/enum such as

from dataclasses import dataclass from enum import Enum @dataclass(frozen=True) class CreatureDataMixin: size: str legs: int class Creature(CreatureDataMixin, Enum): BEETLE = ('small', 6) DOG = ('medium', 4) 

had a repr() similar to

Creature(size='medium', legs=4) 

In 3.11 that has been corrected to:

<Creature.DOG: CreatureDataMixin(size='medium', legs=4)> 

Ideally, that would be:

<Creature.DOG: size='medium', legs=4> 

Linked PRs

Metadata

Metadata

Assignees

Labels

3.12only security fixesstdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions