Expanded TextBuffer
interface to allow borrowed values.
#444
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.
Previously the
TextBuffer
trait only allowed owned values, since it relied onClone
,Default
and'static
.This allows it to use borrowed values.
A possible use case for this is creating a buffer which has dynamic max length:
This wasn't possible in the previous api, as
Default
andClone
cannot be implemented for this struct, and it wasn't'static
.All new trait methods have a default impl using the existing 2 methods, so this is backwards compatible and also suffers from no performance loss on
String
s due to them implementing these new methods.