Fix CloudPathMeta.__call__ return type (#330) #336
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.
Since pyright==1.1.307, instances of the subclasses of CloudPath stopped being recognized as instances of their own class; a possible fix is to type hint CloudPathMeta.call, but it creates a host of mypy errors
Fix mypy errors by making use of object.new and type assertions
Incompatible return value type (got "CloudPath", expected "CloudPathT"); not a clear fix here without a more general refactor
Also make issubclass(cls, CloudPath) explicit by raising TypeError
Run black
Change back init to use Self type
For some reason this leads to mypy type-var errors in the meta call (probably erroneous)