]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/assign_ops2.rs
iterate List by value
[rust.git] / tests / ui / assign_ops2.rs
index 3071cce161cc73d3fcc66ab602b5383a5c1eb061..4703a8c77778857405266a60d5f20977e1bc59ef 100644 (file)
@@ -1,34 +1,19 @@
-#![feature(plugin)]
-#![plugin(clippy)]
-
 #[allow(unused_assignments)]
-#[deny(misrefactored_assign_op)]
+#[warn(clippy::misrefactored_assign_op, clippy::assign_op_pattern)]
 fn main() {
     let mut a = 5;
     a += a + 1;
-
-
     a += 1 + a;
-
-
     a -= a - 1;
-
-
     a *= a * 99;
-
-
     a *= 42 * a;
-
-
     a /= a / 2;
-
-
     a %= a % 5;
-
-
     a &= a & 1;
-
-
+    a *= a * a;
+    a = a * a * a;
+    a = a * 42 * a;
+    a = a * 2 + a;
     a -= 1 - a;
     a /= 5 / a;
     a %= 42 % a;
@@ -55,3 +40,16 @@ fn mul_assign(&mut self, rhs: i64) {
         *self = *self * rhs
     }
 }
+
+fn cow_add_assign() {
+    use std::borrow::Cow;
+    let mut buf = Cow::Owned(String::from("bar"));
+    let cows = Cow::Borrowed("foo");
+
+    // this can be linted
+    buf = buf + cows.clone();
+
+    // this should not as cow<str> Add is not commutative
+    buf = cows + buf;
+    println!("{}", buf);
+}