From 0f55f70b445202fd9d3c101b9936e6649e808441 Mon Sep 17 00:00:00 2001 From: Yunbo Ni <87902024+cardigan1008@users.noreply.github.com> Date: Mon, 29 Jul 2024 18:46:40 +0800 Subject: [PATCH] Fix unwrap panic in next_boundary() (#137) --- src/grapheme.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/grapheme.rs b/src/grapheme.rs index be88b48..b09efed 100644 --- a/src/grapheme.rs +++ b/src/grapheme.rs @@ -694,8 +694,11 @@ impl GraphemeCursor { if self.offset == self.len { return Ok(None); } - let mut iter = chunk[self.offset - chunk_start..].chars(); - let mut ch = iter.next().unwrap(); + let mut iter = chunk[self.offset.saturating_sub(chunk_start)..].chars(); + let mut ch = match iter.next() { + Some(ch) => ch, + None => return Err(GraphemeIncomplete::NextChunk), + }; loop { if self.resuming { if self.cat_after.is_none() {