Update UP035 for Python 3.13 and the latest version of typing_extensions #11693
+176
−16
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.
Summary
Fixes #11413. This PR:
typing
on Python 3.12 and lower (typing_extensions
backports new features from Python 3.13):Generator
AsyncGenerator
ContextManager
AsyncContextManager
TypedDict
runtime_checkable
Protocol
TypeVar
,ParamSpec
andTypeVarTuple
on py313+warnings.deprecated
typing.TypeIs
typing.ReadOnly
typing.NoDefault
typing.is_protocol
typing.get_protocol_members
types.CapsuleType
Test Plan
Added new fixtures and tested using
cargo test
/cargo insta review
. I also manually checked that the new rewrites are not offered if--target-version=py312
is passed on the command line. (I considered adding explicit tests for this, but we already have similar tests, so it seemed somewhat duplicative to do so.)