https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=8fe7258129406b137529559157edd542 ```rust use unicode_segmentation::{GraphemeCursor, GraphemeIncomplete}; #[test] fn test_graphemes_chunked() { use GraphemeIncomplete::*; let chunk0 = "👩"; // 4 bytes let chunk1 = "\u{200d}🔬"; // 3 bytes + 4 bytes let full = &(chunk0.to_string() + chunk1); // 👩🔬 let mut cur = GraphemeCursor::new(0, full.len(), true); assert_eq!(cur.next_boundary(chunk0, 0), Err(NextChunk)); match cur.next_boundary(chunk1, chunk0.len()) { Ok(res) => assert_eq!(res, Some(11)), Err(PreContext(_)) => { cur.provide_context(chunk0, 0); assert_eq!(cur.next_boundary(chunk1, chunk0.len()), Ok(Some(11))); } _ => unreachable!(), } } ``` the last assert panics and says that it expected `Ok(Some(7))`, when instead it should be `Ok(Some(11))`