fix(core): Address UTF-8 character boundary issues in LineBreaker #3228
+64
−10
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.
Summary:
This PR integrates the
unicode-segmentation
crate to address issues related to UTF-8 character boundaries in theLineBreaker
struct. The changes ensure that string documentation is formatted safely without encountering byte index errors. The code now correctly iterates over grapheme clusters, thus maintaining valid character boundaries during string manipulation.Before the change, the added test case causes a panic.
Issue Reference(s):
N/A
Build & Testing:
cargo test
successfully../lint.sh --mode=fix
to fix all linting issues raised by./lint.sh --mode=check
.Checklist:
<type>(<optional scope>): <title>