Replace unmaintained encoding
dependency with encoding_rs
#2626
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.
bat depends on
encoding
crate but it is no longer maintained. This is reported as RUSTSEC-2021-0153 in the advisory DB. The advisory suggestsencoding_rs
crate as alternative.This PR replaces the unmaintained crate with the alternative.
As a side effect, this patch makes bat's UTF16 support a bit more efficient:
Cow
instead ofString
. It means that it can avoid extra allocation by reusing the original string buffer when no character in the buffer was replaced while encoding.encoding_rs
more efficiently thanks toencode_with_bom_removal
methods. The previous implementation always allocated new buffer only for removing BOM.