mirror of
https://github.com/encounter/rust-sdl2.git
synced 2026-07-10 21:18:41 -07:00
Merge pull request #1147 from vladov3000/impl-sum-trait-for-point
implement sum trait for point
This commit is contained in:
@@ -891,6 +891,12 @@ impl DivAssign<i32> for Point {
|
||||
}
|
||||
}
|
||||
|
||||
impl std::iter::Sum for Point {
|
||||
fn sum<I: Iterator<Item = Self>>(iter: I) -> Self {
|
||||
iter.fold(Point::new(0, 0), Point::add)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::{max_int_value, min_int_value, Point, Rect};
|
||||
@@ -1096,4 +1102,10 @@ mod test {
|
||||
point /= 3;
|
||||
assert_eq!(point, Point::new(-11, 5) / 3);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn point_sum() {
|
||||
let points_sum: Point = vec![Point::new(-11, 5), Point::new(6, 2)].into_iter().sum();
|
||||
assert_eq!(Point::new(-5, 7), points_sum);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user