diff --git a/exercises/structs/structs1.rs b/exercises/structs/structs1.rs index 870236d..f492aef 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!");