This PR replaces the self: ClassName paradigm with self: Self, added in Python 3.11 but supported in typing_extensions for all versions. This allows us to remove most of the awkward, unintuitive uses of TypeVar.
Context of Change
It's cleaner and better for handling inheritance.
Type of Change
[x] Refactor (non-breaking change that only restructures code)
High Level Overview of Change
This PR replaces the
self: ClassName
paradigm withself: Self
, added in Python 3.11 but supported intyping_extensions
for all versions. This allows us to remove most of the awkward, unintuitive uses ofTypeVar
.Context of Change
It's cleaner and better for handling inheritance.
Type of Change
Did you update CHANGELOG.md?
Test Plan
CI passes.