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.
Resolves #3852.
The specialized version of
toArrayfor aChunkbacked by anArraywas just upcasting the underlying array and returning it, which is both not safe and exposes the underlying mutable array to the caller, potentially allowing the caller to mutate the array and violating the referential transparency ofChunk.This PR deletes the specialized version. The version defined on the parent class just creates a new array and then calls
toArrayto copy all of the elements to the new array, which is implemented very efficiency for an array chunk in terms ofArray.copy.