Add overloaded slice operations to the prelude #17711
Closed
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.
methods on slice types. However, the relevant traits were not included
in the prelude, meaning that you would have to manually import
std::ops::Slice
to get these operations -- an unintended regression.This commit adds the traits to the prelude, as is done with most other
operator traits.
Unfortunately, the trait
std::slice::Slice
(which defines anas_slice
method) was already included in the prelude. This trait isrenamed to
AsSlice
, which is a better name in any case.In addition, because of both
AsSlice
andStr
traits being includedin the prelude, both of which define
as_slice
, and both of which areused for generic programming, this commit renames
ops::Slice::as_slice
to
ops::Slice::as_slice_
. This is a stopgap solution; we'll need tofigure out a long-term story here later on.
Closes #17710
Due to the renamings, this is a:
[breaking-change]