Implement functionality present on String and SmallVec #4
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 adds a large amount of functionality to
SmallString
.I've found the library very useful, so I thought this would be a good way to contribute back.
Most methods which make sense from
String
andSmallVec
are now implemented onSmallString
.This PR:
SmallVec
SmallVec
but notSmallString
AsMut
without feature gate and without requiring rust 1.20+Extend
efficiently with pre-reserved capacityFromIterator
more simplyFromIterator
implementation worked well and was efficient, but it's possible to achieve the same result without creating a whole struct implementing Iterator. The new behavior matchesString::from_iterator
.smallvec
crate dependency to achieve full functionalitycollect()
on an iterator.Fixes #1, supersedes #2, #3.