X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcommon.rs;fp=src%2Fcommon.rs;h=283640e87667e53ada0a7ecf6bfb332b98016b5e;hb=6ba7aef184300a81cb7fb9533e926f663c0f806f;hp=f5ebb6e0a03dde7ee661f920c610a4fae33b74ca;hpb=fea68d56aa10f9e91f922323676ef7ff468340f6;p=kaka%2Frust-sdl-test.git diff --git a/src/common.rs b/src/common.rs index f5ebb6e..283640e 100644 --- a/src/common.rs +++ b/src/common.rs @@ -2,7 +2,9 @@ use std::ops::{Add, AddAssign, Mul}; #[macro_export] macro_rules! point { - ( $x:expr, $y:expr ) => { Point2D { x:$x, y:$y } }; + ( $x:expr, $y:expr ) => { + Point2D { x: $x, y: $y } + }; } #[derive(Debug, Copy, Clone, PartialEq)] @@ -17,11 +19,14 @@ impl Point2D { } } -impl> Add for Point2D { +impl> Add for Point2D { type Output = Point2D; fn add(self, rhs: Point2D) -> Self::Output { - Point2D { x: self.x + rhs.x, y: self.y + rhs.y } + Point2D { + x: self.x + rhs.x, + y: self.y + rhs.y, + } } } @@ -38,16 +43,19 @@ pub struct Rect { pub height: T, } -impl + Copy> Rect { +impl + Copy> Rect { #[allow(dead_code)] pub fn area(&self) -> T { - self.width * self.height + self.width * self.height } } impl From<(T, T)> for Rect { fn from(item: (T, T)) -> Self { - Rect { width: item.0, height: item.1 } + Rect { + width: item.0, + height: item.1, + } } } @@ -75,7 +83,7 @@ mod tests { #[test] fn area_for_rect_of_multipliable_type() { let r: Rect<_> = (30, 20).into(); // the Into trait uses the From trait - assert_eq!(r.area(), 30 * 20); + assert_eq!(r.area(), 30 * 20); // let a = Rect::from(("a".to_string(), "b".to_string())).area(); // this doesn't work, because area() is not implemented for String } }