about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2018-10-29 11:45:00 +0100
committerFelix S. Klock II <pnkfelix@pnkfx.org>2018-10-30 01:05:48 +0100
commit465cd66286a158dec0d33fa210655214fa826e92 (patch)
tree5878778b60dea90c5df5381ea3d64266fb57ef44
parentd586d5d2f51489821b471f20959333558c24b129 (diff)
downloadrust-465cd66286a158dec0d33fa210655214fa826e92.tar.gz
rust-465cd66286a158dec0d33fa210655214fa826e92.zip
Regression test for issue #54477.
I removed the original file that more completely captured the original
crate's tests, as its source crate
(https://crates.io/crates/collection) is licensed under GPL3, and I
suspect that license is not loose enough for me to put into our repo
under our MIT/Apache licensing.

(Would it be an option to attach the GPL3 licesne to just the one
test? Probably. But do I want to bother with it that that point?
Nope!)
-rw-r--r--src/test/run-pass/issues/issue-54477-reduced-2.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/run-pass/issues/issue-54477-reduced-2.rs b/src/test/run-pass/issues/issue-54477-reduced-2.rs
new file mode 100644
index 00000000000..28731d4b0df
--- /dev/null
+++ b/src/test/run-pass/issues/issue-54477-reduced-2.rs
@@ -0,0 +1,25 @@
+// rust-lang/rust#54477: runtime bug in the VecDeque library that was
+// exposed by this test case, derived from test suite of crates.io
+// `collection` crate.
+
+use std::collections::VecDeque;
+
+fn main() {
+    let mut vecdeque_13 = VecDeque::from(vec![ ]);
+    let mut vecdeque_29 = VecDeque::from(vec![ 0 ]);
+    vecdeque_29.insert(0,  30 );
+    vecdeque_29.insert(1,  31 );
+    vecdeque_29.insert(2,  32 );
+    vecdeque_29.insert(3,  33 );
+    vecdeque_29.insert(4,  34 );
+    vecdeque_29.insert(5,  35 );
+    // println!("vecdeque_13: {:?}", vecdeque_13);
+    // println!("vecdeque_29: {:?}", vecdeque_29);
+
+    // println!("Invoking: `vecdeque_13.append(&mut vecdeque_29)`");
+    vecdeque_13.append(&mut vecdeque_29);
+
+    // println!("vecdeque_13: {:?}", vecdeque_13);
+
+    assert_eq!(vecdeque_13, VecDeque::from(vec![30, 31, 32, 33, 34, 35, 0]));
+}