about summary refs log tree commit diff
path: root/src/liballoc/tests
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2020-03-30 13:31:16 +0200
committerRalf Jung <post@ralfj.de>2020-03-30 13:34:03 +0200
commit5bbaac357dd85092ed0fb822947df7a4d60c1db9 (patch)
tree12ab35b2de11f357ee0cef3711e926fd25237660 /src/liballoc/tests
parent8f479e362fbfcb31e83396ef850ab5219a32821e (diff)
downloadrust-5bbaac357dd85092ed0fb822947df7a4d60c1db9.tar.gz
rust-5bbaac357dd85092ed0fb822947df7a4d60c1db9.zip
fix and test aliasing in swap_remove
Diffstat (limited to 'src/liballoc/tests')
-rw-r--r--src/liballoc/tests/vec.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/liballoc/tests/vec.rs b/src/liballoc/tests/vec.rs
index a90bc58cbfd..6321e7154e7 100644
--- a/src/liballoc/tests/vec.rs
+++ b/src/liballoc/tests/vec.rs
@@ -1378,6 +1378,11 @@ fn test_stable_pointers() {
     v.remove(1);
     v.pop().unwrap();
     assert_eq!(*v0, 13);
+    v.push(1);
+    v.swap_remove(1);
+    assert_eq!(v.len(), 2);
+    v.swap_remove(1); // swap_remove the last element
+    assert_eq!(*v0, 13);
 
     // Appending
     v.append(&mut vec![27, 19]);