Move Protocol, runtime_checkable, Final, final, Literal, and TypedDict to typing #649
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.
Fixes #648
This essentially just moves a bunch of code and tests from Python 2 version of
typing_extensionsto Python 2 version oftyping. We don't need to copy the definitions in the former, and can just re-export them fromtyping, since there is not built-intypingmodule on Python 2, so that we can always assume the latest version oftyping(we will just need to release them in right order,typingfirst, and then update dependency intyping_extensions).Notable changes apart from the code move:
runtimeintyping_extensionsas an alias forruntime_checkablefor backwards compatibility (the former is not included in__all__)GenericMeta.__new__andGenericMeta.__getitem__instead of almost identical overrides in_ProtocolMeta.