]> git.proxmox.com Git - rustc.git/blobdiff - library/core/tests/iter/adapters/take.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / library / core / tests / iter / adapters / take.rs
index bfb659f0a83780cab58bedecc1bc9c0dd68890ae..3e26b43a2ede55abae81460a653c8a402cd04d03 100644 (file)
@@ -146,3 +146,23 @@ fn test_take_try_folds() {
     assert_eq!(iter.try_for_each(Err), Err(2));
     assert_eq!(iter.try_for_each(Err), Ok(()));
 }
+
+#[test]
+fn test_byref_take_consumed_items() {
+    let mut inner = 10..90;
+
+    let mut count = 0;
+    inner.by_ref().take(0).for_each(|_| count += 1);
+    assert_eq!(count, 0);
+    assert_eq!(inner, 10..90);
+
+    let mut count = 0;
+    inner.by_ref().take(10).for_each(|_| count += 1);
+    assert_eq!(count, 10);
+    assert_eq!(inner, 20..90);
+
+    let mut count = 0;
+    inner.by_ref().take(100).for_each(|_| count += 1);
+    assert_eq!(count, 70);
+    assert_eq!(inner, 90..90);
+}