BoundedArray: add a len() function to get the length as a usize #18073
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 type of the active length was changed to the smallest possible type, which is nice to get a more compact representation.
However, that change introduced unexpected side effects. For example,
a.len b.len
can now trigger an integer overflow.There's also an inconsistency between functions that set the size, which all use a
usize
, and the way to read the size, that uses a different type. This is also inconsistent with pretty much anything else that represents a slice length.Replace
.len
withlen()
, a function that returns the length as ausize
to minimize surprise and simplify application code.Originally suggested by @matklad