From 5113f2157c5aa257ad7ebf555cb6a551701d169a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 10 Aug 2026 10:19:49 +0100 Subject: Add generic struct example without any outputs --- examples/03-sum/output/rust/.gitignore | 1 - examples/03-sum/output/rust/Cargo.lock | 7 ------ examples/03-sum/output/rust/Cargo.toml | 6 ----- examples/03-sum/output/rust/rust-toolchain.toml | 2 -- examples/03-sum/output/rust/src/lib.rs | 29 ---------------------- examples/03-sum/output/rust/src/shapes.rs | 32 ------------------------- 6 files changed, 77 deletions(-) delete mode 100644 examples/03-sum/output/rust/.gitignore delete mode 100644 examples/03-sum/output/rust/Cargo.lock delete mode 100644 examples/03-sum/output/rust/Cargo.toml delete mode 100644 examples/03-sum/output/rust/rust-toolchain.toml delete mode 100644 examples/03-sum/output/rust/src/lib.rs delete mode 100644 examples/03-sum/output/rust/src/shapes.rs (limited to 'examples/03-sum/output/rust') diff --git a/examples/03-sum/output/rust/.gitignore b/examples/03-sum/output/rust/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/examples/03-sum/output/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/examples/03-sum/output/rust/Cargo.lock b/examples/03-sum/output/rust/Cargo.lock deleted file mode 100644 index 9dc6e3e..0000000 --- a/examples/03-sum/output/rust/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "example" -version = "0.1.0" diff --git a/examples/03-sum/output/rust/Cargo.toml b/examples/03-sum/output/rust/Cargo.toml deleted file mode 100644 index 5d4c622..0000000 --- a/examples/03-sum/output/rust/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "example" -version = "0.1.0" -edition = "2024" - -[dependencies] diff --git a/examples/03-sum/output/rust/rust-toolchain.toml b/examples/03-sum/output/rust/rust-toolchain.toml deleted file mode 100644 index 4fedb95..0000000 --- a/examples/03-sum/output/rust/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "1.96" 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:: for crate::shapes::Shape { - fn from(value: crate::shapes::Rectangle) -> Self { - Self::Rectangle(value) - } -} - -impl ::std::convert::From:: 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, -} -- cgit v1.2.3