about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorCharles Gleason <charles_gleason@alumni.brown.edu>2019-10-03 15:04:35 -0400
committerCharles Gleason <charles_gleason@alumni.brown.edu>2019-10-10 22:49:20 -0400
commit10671f10c3559f6b96593149dce5467b0feccab6 (patch)
tree604fdc2c81d199b5e45683b956537a22fdbe4f41 /src/liballoc
parent91cf02cfa773d7b7612f3e20d5361f36f17d047b (diff)
downloadrust-10671f10c3559f6b96593149dce5467b0feccab6.tar.gz
rust-10671f10c3559f6b96593149dce5467b0feccab6.zip
Add tests for VecDeque clone_from
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/collections/vec_deque/tests.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/liballoc/collections/vec_deque/tests.rs b/src/liballoc/collections/vec_deque/tests.rs
index d2535239979..d578ee0dac4 100644
--- a/src/liballoc/collections/vec_deque/tests.rs
+++ b/src/liballoc/collections/vec_deque/tests.rs
@@ -362,6 +362,29 @@ fn test_vec_from_vecdeque() {
 }
 
 #[test]
+fn test_clone_from() {
+    let m = vec![1; 8];
+    let n = vec![2; 12];
+    for pfv in 0..8 {
+        for pfu in 0..8 {
+            for longer in 0..2 {
+                let (vr, ur) = if longer == 0 { (&m, &n) } else { (&n, &m) };
+                let mut v = VecDeque::from(vr.clone());
+                for _ in 0..pfv {
+                    v.push_front(1);
+                }
+                let mut u = VecDeque::from(ur.clone());
+                for _ in 0..pfu {
+                    u.push_front(2);
+                }
+                v.clone_from(&u);
+                assert_eq!(&v, &u);
+            }
+        }
+    }
+}
+
+#[test]
 fn issue_53529() {
     use crate::boxed::Box;