summaryrefslogtreecommitdiff
path: root/rustlings/exercises/08_enums/enums2.rs
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-09-14 17:15:13 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-09-14 17:28:26 -0500
commitbf66df1a16461ef1ee50510803a3097914ffcb82 (patch)
tree15a13e34a794ec182c1e4c4507645ac43e07c6bc /rustlings/exercises/08_enums/enums2.rs
parentb6245506460bd854ab32b1b6d2ecc51f5be82ef9 (diff)
Add rustlings
Diffstat (limited to 'rustlings/exercises/08_enums/enums2.rs')
-rw-r--r--rustlings/exercises/08_enums/enums2.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/rustlings/exercises/08_enums/enums2.rs b/rustlings/exercises/08_enums/enums2.rs
new file mode 100644
index 0000000..d70f639
--- /dev/null
+++ b/rustlings/exercises/08_enums/enums2.rs
@@ -0,0 +1,33 @@
+#[derive(Debug)]
+struct Point {
+ x: u64,
+ y: u64,
+}
+
+#[derive(Debug)]
+enum Message {
+ // TODO: Define the different variants used below.
+}
+
+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();
+ }
+}