Skip to content

Fix default_factory for inherited dataclass - #21785

Open
DanielNoord wants to merge 1 commit into
python:masterfrom
DanielNoord:fix-default-factory-for-dict
Open

Fix default_factory for inherited dataclass#21785
DanielNoord wants to merge 1 commit into
python:masterfrom
DanielNoord:fix-default-factory-for-dict

Conversation

@DanielNoord

Copy link
Copy Markdown

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 :)

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

1 participant