TYP: add missing annotations for numpy.object_.__new__
#26865
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.
Due to a mypy bug (python/mypy#15182), this cannot be type-tested.
However, I confirmed that with pyright, the (currently commented-out) typetests succeed.
According to the official typing specs, these
__new__
annotations are valid, as wellPreviously,
np.object(...)
always returned an instance ofnp.object_
according to its annotations.Due to the mypy bug, mypy still thinks it does.
But other typecheckers, e.g. pyright, now correctly types that e.g.
object_() -> None
.object_('spam') -> 'spam'
, andobject_([]) -> array([], dtype=object)
.