gh-82129: Fix NameError on get_type_hints in dataclasses#122232
Closed
sobolevn wants to merge 3 commits intopython:mainfrom
Closed
gh-82129: Fix NameError on get_type_hints in dataclasses#122232sobolevn wants to merge 3 commits intopython:mainfrom
NameError on get_type_hints in dataclasses#122232sobolevn wants to merge 3 commits intopython:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ok, here's my attempt at solving this.
When you call
typing.get_type_hintsyou still have to import typing.There's a good chance that it will already be imported by something else in your
sys.modules.We already have this hack in other places:
cpython/Lib/dataclasses.py
Lines 809 to 815 in e968121
So, this solution can be used to hide the problem for older versions of python (down to 3.12). While we can actually fully solve with
annotationlibin 3.14+I think that this hack + user-space one:
is good enough for now.