“Operator-equals” 现在实现了

Minimum Rust version: 1.8

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

1. use std::ops::AddAssign;

3. #[derive(Debug)]
4. struct Count {
5. value: i32,
6. }

8. impl AddAssign for Count {
9. fn add_assign(&mut self, other: Count) {
10. self.value += other.value;
11. }
12. }

14. fn main() {
15. let mut c1 = Count { value: 1 };
16. let c2 = Count { value: 5 };

18. c1 += c2;

20. println!("{:?}", c1);
21. }

这将打印 Count { value: 6 }.