Fix Optional["ForwardRef"]
rewriting
#750
Merged
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.
Optional["ForwardRef"]
currently requires twopyupgrade
calls to be fully rewritten. Here's a minimal example:The problem here is that
typing_pep604.py
bails if it encounters a forward annotation (#567). This PR adjusts the check to guess ahead if annotations will be dequoted bytyping_pep563.py
.I guess there's an argument to be made that forward refs and
from __future__ import annotations
in the same file aren't best practice to begin with, but I've encountered that in real-world code and figured I'd send a fix. No hard feelings if you consider this a wontfix. :)