]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/swap.rs
iterate List by value
[rust.git] / tests / ui / swap.rs
index b508c1ee0096479d62100acd4bfac92baed1528b..5763d9e82d486779f12c1d4b9ba11f684229b33c 100644 (file)
@@ -1,9 +1,11 @@
+// run-rustfix
+
 #![warn(clippy::all)]
 #![allow(
     clippy::blacklisted_name,
     clippy::no_effect,
     clippy::redundant_clone,
-    redundant_semicolon,
+    redundant_semicolons,
     unused_assignments
 )]
 
@@ -46,6 +48,15 @@ fn slice() {
     foo.swap(0, 1);
 }
 
+fn unswappable_slice() {
+    let foo = &mut [vec![1, 2], vec![3, 4]];
+    let temp = foo[0][1];
+    foo[0][1] = foo[1][0];
+    foo[1][0] = temp;
+
+    // swap(foo[0][1], foo[1][0]) would fail
+}
+
 fn vec() {
     let mut foo = vec![1, 2];
     let temp = foo[0];
@@ -60,6 +71,7 @@ fn main() {
     field();
     array();
     slice();
+    unswappable_slice();
     vec();
 
     let mut a = 42;