diff options
Diffstat (limited to 'examples/03-sum/output/rust/src')
| -rw-r--r-- | examples/03-sum/output/rust/src/lib.rs | 29 | ||||
| -rw-r--r-- | examples/03-sum/output/rust/src/shapes.rs | 32 |
2 files changed, 0 insertions, 61 deletions
diff --git a/examples/03-sum/output/rust/src/lib.rs b/examples/03-sum/output/rust/src/lib.rs deleted file mode 100644 index f961002..0000000 --- a/examples/03-sum/output/rust/src/lib.rs +++ /dev/null @@ -1,29 +0,0 @@ -mod shapes; - -use shapes::{Rectangle, Shape, Triangle}; - -fn area(shape: &Shape) -> i32 { - match shape { - Shape::Rectangle(rectangle) => rectangle.width * rectangle.height, - Shape::Triangle(triangle) => triangle.width * triangle.height / 2, - } -} - -#[cfg(test)] -mod test { - use super::shapes::{Rectangle, Shape, Triangle}; - - #[test] - fn rectangle() { - let rectangle = Shape::Rectangle(Rectangle { width: 10, height: 25 }); - let area = super::area(&rectangle); - assert_eq!(area, 250); - } - - #[test] - fn triangle() { - let triangle = Shape::Triangle(Triangle { width: 10, height: 25 }); - let area = super::area(&triangle); - assert_eq!(area, 125); - } -} diff --git a/examples/03-sum/output/rust/src/shapes.rs b/examples/03-sum/output/rust/src/shapes.rs deleted file mode 100644 index 2712e41..0000000 --- a/examples/03-sum/output/rust/src/shapes.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Generated by hobgoblin. - -/// A 2D shape. -#[derive(Clone, Debug, Hash, PartialEq)] -pub enum Shape { - Rectangle(crate::shapes::Rectangle), - Triangle(crate::shapes::Triangle), -} - -impl ::std::convert::From::<crate::shapes::Rectangle> for crate::shapes::Shape { - fn from(value: crate::shapes::Rectangle) -> Self { - Self::Rectangle(value) - } -} - -impl ::std::convert::From::<crate::shapes::Triangle> for crate::shapes::Shape { - fn from(value: crate::shapes::Triangle) -> Self { - Self::Triangle(value) - } -} - -#[derive(Clone, Debug, Hash, PartialEq)] -pub struct Rectangle { - pub width: ::core::primitive::i32, - pub height: ::core::primitive::i32, -} - -#[derive(Clone, Debug, Hash, PartialEq)] -pub struct Triangle { - pub width: ::core::primitive::i32, - pub height: ::core::primitive::i32, -} |
