Skip to content

Commit de609ef

Browse files
committed
revert: seprate overflow and unwrap
1 parent 54f09d4 commit de609ef

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/grapheme.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ impl GraphemeCursor {
412412
/// ```
413413
pub fn provide_context(&mut self, chunk: &str, chunk_start: usize) {
414414
use crate::tables::grapheme as gr;
415-
assert!(chunk_start.saturating_add(chunk.len()) == self.pre_context_offset.unwrap());
415+
assert!(chunk_start + chunk.len() == self.pre_context_offset.unwrap());
416416
self.pre_context_offset = None;
417417
if self.is_extended && chunk_start + chunk.len() == self.offset {
418418
let ch = chunk.chars().next_back().unwrap();
@@ -598,15 +598,15 @@ impl GraphemeCursor {
598598
if self.state == GraphemeState::NotBreak {
599599
return Ok(false);
600600
}
601-
if (self.offset < chunk_start || self.offset >= chunk_start.saturating_add(chunk.len()))
602-
&& (self.offset > chunk_start.saturating_add(chunk.len()) || self.cat_after.is_none())
601+
if (self.offset < chunk_start || self.offset >= chunk_start + chunk.len())
602+
&& (self.offset > chunk_start + chunk.len() || self.cat_after.is_none())
603603
{
604604
return Err(GraphemeIncomplete::InvalidOffset);
605605
}
606606
if let Some(pre_context_offset) = self.pre_context_offset {
607607
return Err(GraphemeIncomplete::PreContext(pre_context_offset));
608608
}
609-
let offset_in_chunk = self.offset.saturating_sub(chunk_start);
609+
let offset_in_chunk = self.offset - chunk_start;
610610
if self.cat_after.is_none() {
611611
let ch = chunk[offset_in_chunk..].chars().next().unwrap();
612612
self.cat_after = Some(self.grapheme_category(ch));
@@ -705,7 +705,7 @@ impl GraphemeCursor {
705705
self.cat_after = Some(self.grapheme_category(ch));
706706
}
707707
} else {
708-
self.offset = self.offset.saturating_add(ch.len_utf8());
708+
self.offset += ch.len_utf8();
709709
self.state = GraphemeState::Unknown;
710710
self.cat_before = self.cat_after.take();
711711
if self.cat_before.is_none() {
@@ -784,7 +784,7 @@ impl GraphemeCursor {
784784
if self.offset == chunk_start {
785785
return Err(GraphemeIncomplete::PrevChunk);
786786
}
787-
let mut iter = chunk[..self.offset.saturating_sub(chunk_start)].chars().rev();
787+
let mut iter = chunk[..self.offset - chunk_start].chars().rev();
788788
let mut ch = iter.next().unwrap();
789789
loop {
790790
if self.offset == chunk_start {

0 commit comments

Comments
 (0)