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.
Issue:
In the
Expression
class, the most recent version of__getitem__
(introduced in this commit) accepted either an integer index (callingpick
on that index) or a sequence of indices (callingpickrange
on the first two indices). While selecting a single element from a matrix or higher-dimensional tensor using a sequence of indices would be a useful future addition, the semantics ofpickrange
are those of slicing rather than element selection.Fix:
The
__getitem__
method was modified to accept either an integer index as before or aslice
object. Slice features that are currently unsupported give rise to exceptions with informative error messages.Previous behavior:
Single indices worked correctly:
Slices were not accepted:
Index sequences were accepted with unexpected behavior:
New behavior:
Single indices are accepted correctly:
Index sequences are no longer accepted:
Simple slices are accepted:
Informative error messages are given when attempting to use default endpoints or step sizes: