From 4524a8a16574887bfdb0ee66984709c8158470a6 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 1 Aug 2026 09:17:30 +0100 Subject: Add Box type --- examples/07-enum/output/rust/src/lib.rs | 23 +++++++++++++++++++++++ examples/07-enum/output/rust/src/numbers.rs | 9 +++++++++ 2 files changed, 32 insertions(+) create mode 100644 examples/07-enum/output/rust/src/lib.rs create mode 100644 examples/07-enum/output/rust/src/numbers.rs (limited to 'examples/07-enum/output/rust/src') diff --git a/examples/07-enum/output/rust/src/lib.rs b/examples/07-enum/output/rust/src/lib.rs new file mode 100644 index 0000000..ae0b67c --- /dev/null +++ b/examples/07-enum/output/rust/src/lib.rs @@ -0,0 +1,23 @@ +mod numbers; + +use numbers::SmallNumber; + +fn eval(small_number: SmallNumber) -> i32 { + match small_number { + SmallNumber::Zero => 0, + SmallNumber::One => 1, + SmallNumber::Two => 2, + } +} + +#[cfg(test)] +mod test { + use super::numbers::SmallNumber; + + #[test] + fn can_eval_small_numbers() { + assert_eq!(super::eval(SmallNumber::Zero), 0); + assert_eq!(super::eval(SmallNumber::One), 1); + assert_eq!(super::eval(SmallNumber::Two), 2); + } +} diff --git a/examples/07-enum/output/rust/src/numbers.rs b/examples/07-enum/output/rust/src/numbers.rs new file mode 100644 index 0000000..29483ba --- /dev/null +++ b/examples/07-enum/output/rust/src/numbers.rs @@ -0,0 +1,9 @@ +// Generated by hobgoblin. + +/// A small number. +#[derive(Clone, Copy, Debug, Hash, PartialEq)] +pub enum SmallNumber { + Zero, + One, + Two, +} -- cgit v1.2.3