rope: Assert utf8 boundary of start of Chunks::new range (#40253)

We seem to run into panics in related code, so better assert early

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Lukas Wirth
2025-10-15 15:28:51 +02:00
committed by GitHub
parent 376335496d
commit ec0eeaf69d

View File

@@ -673,6 +673,12 @@ impl<'a> Chunks<'a> {
chunks.seek(&range.start, Bias::Right);
range.start
};
let chunk_offset = offset - chunks.start();
if let Some(chunk) = chunks.item()
&& !chunk.text.is_char_boundary(chunk_offset)
{
panic!("byte index {} is not a char boundary", offset);
}
Self {
chunks,
range,