All notable changes to this project will be documented in this file.
previous_char_boundarynow clamps out-of-bounds indices toself.len(), matchingnext_char_boundary.- Split the internal sealing traits by purpose and replaced the
Deref-basedStrExtimplementation with explicit impls forstrandString. - Removed the
setconvenience method fromStringExt. - Moved the test suite out of
src/lib.rsintotests/lib.rs. - Standardized and expanded the crate, API, and README documentation.
longest_common_substringnow compares substrings bycharlength instead of UTF-8 byte length.- Corrected the documented space complexity of
longest_common_substringto match the implementation.
- Added
byte_frequenciesfor counting byte occurrences in a string's UTF-8 representation. - Added
truncate_to_charsandtruncate_to_chars_in_placefor char-count-based truncation. - Added
pad_start_to,pad_end_to,center_toand their in-place variants for exact char-width padding with a single fill char. - Added
strip_prefix_in_placeandstrip_suffix_in_placeas mutable counterparts to the standard prefix/suffix stripping methods. - Added
common_prefixandcommon_suffixfor borrowed shared prefix/suffix queries. - Added regression coverage for Unicode behavior in
longest_common_substring. - Added edge-case coverage for no-op behavior in
shift,shift_in_place,expand_tabs,expand_tabs_in_place, andreplace_in_place. - Added panic coverage for invalid indices in
shiftandshift_in_place. - Added method-level doctest examples and extra API behavior notes.