Remove limited implementation of __setitem__
from Array
#302
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.
I originally added a very limited form of
__setitem__
that only accepts single element updates to support the Array API tests, that needed it at the time. Now this is no longer a requirement (https://hypothesis.readthedocs.io/en/latest/changes.html#v6-75-8), I propose removing the code since it isn't generally useful.With this change we'd be able to treat arrays as immutable, which opens up more optimizations, such as making
full
a "virtual" (non-materialized) array (see #290, #247).Also, if we decide we need to make arrays mutable in the future, we can do that in a more intentional way - perhaps by marking any mutated arrays as needing to be materialized to Zarr, so they can then be mutated.