summaryrefslogtreecommitdiff
path: root/examples/08-custom-code/output/rust/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 16:32:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 16:37:31 +0100
commit94d481c940fb36da896e2e80a62f39d849477f53 (patch)
tree1df183249ec0cffe9c02f6a145dbb11bfef05a91 /examples/08-custom-code/output/rust/src
parent6fe5f16e1b261dcc34f83ca9c6d6049d3591976b (diff)
Add inductive data types example
Diffstat (limited to 'examples/08-custom-code/output/rust/src')
-rw-r--r--examples/08-custom-code/output/rust/src/gen/shapes.rs5
-rw-r--r--examples/08-custom-code/output/rust/src/main.rs8
-rw-r--r--examples/08-custom-code/output/rust/src/shapes.rs7
3 files changed, 20 insertions, 0 deletions
diff --git a/examples/08-custom-code/output/rust/src/gen/shapes.rs b/examples/08-custom-code/output/rust/src/gen/shapes.rs
new file mode 100644
index 0000000..b85ad8c
--- /dev/null
+++ b/examples/08-custom-code/output/rust/src/gen/shapes.rs
@@ -0,0 +1,5 @@
+// Generated by hobgoblin.
+
+pub struct Square {
+ pub width: i32,
+}
diff --git a/examples/08-custom-code/output/rust/src/main.rs b/examples/08-custom-code/output/rust/src/main.rs
new file mode 100644
index 0000000..e30443e
--- /dev/null
+++ b/examples/08-custom-code/output/rust/src/main.rs
@@ -0,0 +1,8 @@
+mod shapes;
+
+use shapes::Square;
+
+fn main() {
+ let square = Square { width: 10 };
+ assert!(square.area() == 100);
+}
diff --git a/examples/08-custom-code/output/rust/src/shapes.rs b/examples/08-custom-code/output/rust/src/shapes.rs
new file mode 100644
index 0000000..f806bbb
--- /dev/null
+++ b/examples/08-custom-code/output/rust/src/shapes.rs
@@ -0,0 +1,7 @@
+include!("gen/shapes.rs");
+
+impl Square {
+ pub fn area(&self) -> i32 {
+ self.width * self.width
+ }
+}