]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/swap.rs
Auto merge of #4478 - tsurai:master, r=flip1995
[rust.git] / tests / ui / swap.rs
index 20fa9c8757446fbdcde382e129cd6d68318703cf..093cd7fd04afaa3f10c53cd9785a32acfe73c66b 100644 (file)
@@ -1,17 +1,27 @@
-// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
 #![warn(clippy::all)]
-#![allow(clippy::blacklisted_name, unused_assignments)]
+#![allow(clippy::blacklisted_name, clippy::no_effect, redundant_semicolon, unused_assignments)]
 
 struct Foo(u32);
 
+#[derive(Clone)]
+struct Bar {
+    a: u32,
+    b: u32,
+}
+
+fn field() {
+    let mut bar = Bar { a: 1, b: 2 };
+
+    let temp = bar.a;
+    bar.a = bar.b;
+    bar.b = temp;
+
+    let mut baz = vec![bar.clone(), bar.clone()];
+    let temp = baz[0].a;
+    baz[0].a = baz[1].a;
+    baz[1].a = temp;
+}
+
 fn array() {
     let mut foo = [1, 2];
     let temp = foo[0];
@@ -41,6 +51,7 @@ fn vec() {
 
 #[rustfmt::skip]
 fn main() {
+    field();
     array();
     slice();
     vec();