Rework specialization #384
Open
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.
This ports most of the specialization work done for the
Vec
Rust type to this library. With that theextend
,from
, andextend_from_slice
are now specialized, with specialization triggering in more instances. This also extends to other functions such asfrom_elem
andclone_from
which were not specialized before.This also adds some missing trait implementations and functions with trait bounds.
All of this should finish one of the items in #183. Note that
extend_from_slice
has not been removed, sinceVec
also has this function. Instead, its trait bound was relaxed from
Copy
toClone
for a matching signature.