“Operator-equals” 现在实现了

Minimum Rust version: 1.8

各种各样的 “等价操作符” 已经被各种各样的trait实现了, 比如 +=-=。 举个例子:下面是一个 += 操作符:

  1. use std::ops::AddAssign;
  2. #[derive(Debug)]
  3. struct Count {
  4. value: i32,
  5. }
  6. impl AddAssign for Count {
  7. fn add_assign(&mut self, other: Count) {
  8. self.value += other.value;
  9. }
  10. }
  11. fn main() {
  12. let mut c1 = Count { value: 1 };
  13. let c2 = Count { value: 5 };
  14. c1 += c2;
  15. println!("{:?}", c1);
  16. }

这将打印 Count { value: 6 }.