We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
char::DecodeUtf16::size_hint
1 parent cd4245d commit 9c8cd1fCopy full SHA for 9c8cd1f
library/core/tests/char.rs
@@ -308,6 +308,31 @@ fn test_decode_utf16() {
308
check(&[0xD800, 0], &[Err(0xD800), Ok('\0')]);
309
}
310
311
+#[test]
312
+fn test_decode_utf16_size_hint() {
313
+ fn check(s: &[u16]) {
314
+ let mut iter = char::decode_utf16(s.iter().cloned());
315
+
316
+ loop {
317
+ let count = iter.clone().count();
318
+ let (lower, upper) = iter.size_hint();
319
320
+ assert!(
321
+ lower <= count && count <= upper.unwrap(),
322
+ "lower = {lower}, upper = {upper:?}"
323
+ );
324
325
+ if let None = iter.next() {
326
+ break;
327
+ }
328
329
330
331
+ check(&[0xD800, 0x41, 0x42]);
332
+ check(&[0xD800, 0]);
333
+ check(&[0xD834, 0x006d]);
334
+}
335
336
#[test]
337
fn ed_iterator_specializations() {
338
// Check counting
0 commit comments