Skip to content

dataclasses.astuple breaks on DefaultDict#98169

@kwsp

Description

@kwsp

Bug report

This is very similar to #79721

fromdataclassesimportdataclass, astuplefromtypingimportDefaultDict, Listfromcollectionsimportdefaultdict@dataclassclassC: mp: DefaultDict[str, List] dd=defaultdict(list) dd["x"].append(12) c=C(mp=dd) d=astuple(c) # throws "TypeError: first argument must be callable or None"assertd== ({"x": [12]},) assertd[0] isnotc.mp# make sure defaultdict is copied

Basically applying the same fix for asdict from #32056 to astuple.

Your environment

  • CPython versions tested on: 3.10.7
  • Operating system and architecture: macOS, arm64

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions