summaryrefslogtreecommitdiff
path: root/examples/02-sum/output/rust
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 10:50:10 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 10:50:10 +0100
commit578bf1f04b48f48225cfa794a27426cca4f6384a (patch)
treefc5c2737ffa65e20305f165a593111463a36166d /examples/02-sum/output/rust
parent1831d27671abe87bcbea5da40517093c37efb9b7 (diff)
Support singleton structs
Diffstat (limited to 'examples/02-sum/output/rust')
-rw-r--r--examples/02-sum/output/rust/.gitignore1
-rw-r--r--examples/02-sum/output/rust/Cargo.lock7
-rw-r--r--examples/02-sum/output/rust/Cargo.toml6
-rw-r--r--examples/02-sum/output/rust/rust-toolchain.toml2
-rw-r--r--examples/02-sum/output/rust/src/lib.rs29
-rw-r--r--examples/02-sum/output/rust/src/shapes.rs32
6 files changed, 0 insertions, 77 deletions
diff --git a/examples/02-sum/output/rust/.gitignore b/examples/02-sum/output/rust/.gitignore
deleted file mode 100644
index ea8c4bf..0000000
--- a/examples/02-sum/output/rust/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/examples/02-sum/output/rust/Cargo.lock b/examples/02-sum/output/rust/Cargo.lock
deleted file mode 100644
index 9dc6e3e..0000000
--- a/examples/02-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/02-sum/output/rust/Cargo.toml b/examples/02-sum/output/rust/Cargo.toml
deleted file mode 100644
index 5d4c622..0000000
--- a/examples/02-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/02-sum/output/rust/rust-toolchain.toml b/examples/02-sum/output/rust/rust-toolchain.toml
deleted file mode 100644
index 4fedb95..0000000
--- a/examples/02-sum/output/rust/rust-toolchain.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[toolchain]
-channel = "1.96"
diff --git a/examples/02-sum/output/rust/src/lib.rs b/examples/02-sum/output/rust/src/lib.rs
deleted file mode 100644
index f961002..0000000
--- a/examples/02-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/02-sum/output/rust/src/shapes.rs b/examples/02-sum/output/rust/src/shapes.rs
deleted file mode 100644
index a0a9b7f..0000000
--- a/examples/02-sum/output/rust/src/shapes.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Generated by hobgoblin.
-
-/// A 2D shape.
-#[derive(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(Debug, Hash, PartialEq)]
-pub struct Rectangle {
- pub width: ::core::primitive::i32,
- pub height: ::core::primitive::i32,
-}
-
-#[derive(Debug, Hash, PartialEq)]
-pub struct Triangle {
- pub width: ::core::primitive::i32,
- pub height: ::core::primitive::i32,
-}