summaryrefslogtreecommitdiff
path: root/examples/04-sum/output/rust/src/shapes.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
commit5113f2157c5aa257ad7ebf555cb6a551701d169a (patch)
tree8ddaee09f6c43b0529b2203f9e662a028fb5fcc0 /examples/04-sum/output/rust/src/shapes.rs
parent5d41166750e0f05da436bf30c7a642749f7a71c5 (diff)
Add generic struct example without any outputs
Diffstat (limited to 'examples/04-sum/output/rust/src/shapes.rs')
-rw-r--r--examples/04-sum/output/rust/src/shapes.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/04-sum/output/rust/src/shapes.rs b/examples/04-sum/output/rust/src/shapes.rs
new file mode 100644
index 0000000..2712e41
--- /dev/null
+++ b/examples/04-sum/output/rust/src/shapes.rs
@@ -0,0 +1,32 @@
+// 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,
+}