Skip to content

[mypyc] Fix default_factory for inherited dataclass - #21785

Merged
p-sawicki merged 1 commit into
python:masterfrom
DanielNoord:fix-default-factory-for-dict
Aug 6, 2026
Merged

[mypyc] Fix default_factory for inherited dataclass#21785
p-sawicki merged 1 commit into
python:masterfrom
DanielNoord:fix-default-factory-for-dict

Conversation

@DanielNoord

Copy link
Copy Markdown
Contributor

Closes mypyc/mypyc#1204, a mypyc issue.

The issue likely unblocks isort from being compiled with mypyc, which is why I took an interest it. Full disclosure is that I used AI to write this, it provided this test and code just from the linked issue but it looks sensible to me. I did not use additional prompting. Like I said, fix looks sensible: we now call dataclass_type for each entry in the MRO, instead of once.

I am aware the contributing guidelines say new contributors are not encourage to use LLMs but I hope the size of the PR and my track record as open source maintainer gives some flexibility here. I'm very aware that reviewing AI written PRs creates maintainer burden, but I'm committed to getting this over the finish line. To that end I:

Tested locally with pytest mypyc/test/test_run.py and that looked okay.
Also tested that without the changes the added test would fail on master.
Also tried to run CI on my local fork (DanielNoord#1), which succeeded.

Feel free to push changes to the branch or cherry pick this into another branch. I am not necessarily interested in getting credits for the fix/PR, I'd just like to continue with my attempt to get isort compiled and for that I need this in a mypy release :)

@p-sawicki p-sawicki changed the title Fix default_factory for inherited dataclass [mypyc] Fix default_factory for inherited dataclass Aug 6, 2026

@p-sawicki p-sawicki left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, thanks!

@p-sawicki
p-sawicki merged commit 20a49fa into python:master Aug 6, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeError/SystemError for dataclasses that uses default_factory and is subclassed

2 participants