From 4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 Mon Sep 17 00:00:00 2001 From: Hunter Kvalevog Date: Fri, 2 Oct 2026 21:53:51 -0500 Subject: rustlings: move to rust/ --- rust/rustlings/solutions/08_enums/enums2.rs | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 rust/rustlings/solutions/08_enums/enums2.rs (limited to 'rust/rustlings/solutions/08_enums/enums2.rs') diff --git a/rust/rustlings/solutions/08_enums/enums2.rs b/rust/rustlings/solutions/08_enums/enums2.rs new file mode 100644 index 0000000..07aee26 --- /dev/null +++ b/rust/rustlings/solutions/08_enums/enums2.rs @@ -0,0 +1,37 @@ +#[derive(Debug)] +struct Point { + x: u64, + y: u64, +} + +#[derive(Debug)] +enum Message { + Resize { width: u64, height: u64 }, + Move(Point), + Echo(String), + ChangeColor(u8, u8, u8), + Quit, +} + +impl Message { + fn call(&self) { + println!("{self:?}"); + } +} + +fn main() { + let messages = [ + Message::Resize { + width: 10, + height: 30, + }, + Message::Move(Point { x: 10, y: 15 }), + Message::Echo(String::from("hello world")), + Message::ChangeColor(200, 255, 255), + Message::Quit, + ]; + + for message in &messages { + message.call(); + } +} -- cgit v1.2.3