Improvements to List and Set in ds package #24
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.
The following changes are made:
ds.ListFromSlice
for easier initialization of a*ds.List
type.Equals
methods to*ds.Set
and*ds.List
types.Unbox
methods to*ds.Set
and*ds.List
types. This can be used for fast access to their inner representations. Potentially unsafe if misused.Set
method to*ds.List
so that an item at a specific index can be modified, similarly to how it can be retrieved withGet
.*ds.List.Items
method. Previously it returned the inner slice and now it returns a copy. InsteadUnbox
should be used.WARNING The last change is a backward incompatible change. The impact is that existing apps will allocate memory where
Items
has been used until they migrate toUnbox
. Furthermore, if existing apps did modify the slice (which hopefully they didn't as the documentation advised) as a means to mutate the List, that will no longer work correctly.