From 7c71a8ae588ceb5802528e1686754937d61eeca4 Mon Sep 17 00:00:00 2001
From: Paul Czeresko
Date: Sun, 21 Jul 2019 10:54:47 -0400
Subject: [PATCH] Complete structs section
---
exercises/structs/structs1.rs | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/exercises/structs/structs1.rs b/exercises/structs/structs1.rs
index 870236df..f492aef0 100644
--- a/exercises/structs/structs1.rs
+++ b/exercises/structs/structs1.rs
@@ -1,11 +1,12 @@
// structs1.rs
// Address all the TODOs to make the tests pass!
-struct ColorClassicStruct {
- // TODO: Something goes here
+struct ColorClassicStruct<'a> {
+ name: &'a str,
+ hex: &'a str,
}
-struct ColorTupleStruct(/* TODO: Something goes here */);
+struct ColorTupleStruct<'a>(&'a str, &'a str);
#[derive(Debug)]
struct UnitStruct;
@@ -16,8 +17,9 @@ mod tests {
#[test]
fn classic_c_structs() {
- // TODO: Instantiate a classic c struct!
- // let green =
+ let name = "green";
+ let hex = "#00FF00";
+ let green = ColorClassicStruct { name, hex };
assert_eq!(green.name, "green");
assert_eq!(green.hex, "#00FF00");
@@ -25,18 +27,17 @@ mod tests {
#[test]
fn tuple_structs() {
- // TODO: Instantiate a tuple struct!
+ let name = "green";
+ let hex = "#00FF00";
+ let green = ColorTupleStruct(name, hex);
// For more fun, use the field initialization shorthand.
- // let green =
-
assert_eq!(green.0, "green");
assert_eq!(green.1, "#00FF00");
}
#[test]
fn unit_structs() {
- // TODO: Instantiate a unit struct!
- // let unit_struct =
+ let unit_struct = UnitStruct;
let message = format!("{:?}s are fun!", unit_struct);
assert_eq!(message, "UnitStructs are fun!");