// structs1.rs // Address all the TODOs to make the tests pass! // Execute `rustlings hint structs1` or use the `hint` watch subcommand for a hint. #[derive(Default)] struct ColorClassicStruct { red:u32, green:u32, blue:u32, } #[derive(Default)] struct ColorTupleStruct(u32,u32,u32); #[derive(Debug)] struct UnitLikeStruct; #[cfg(test)] mod tests { use super::*; #[test] fn classic_c_structs() { // TODO: Instantiate a classic c struct! let mut green_0:ColorClassicStruct = Default::default(); green_0.green = 256; let green = ColorClassicStruct{green:255,..green_0}; assert_eq!(green.red, 0); assert_eq!(green.green, 255); assert_eq!(green.blue, 0); } #[test] fn tuple_structs() { // TODO: Instantiate a tuple struct! let green = ColorTupleStruct( 0, 255, 0 ); assert_eq!(green.0, 0); assert_eq!(green.1, 255); assert_eq!(green.2, 0); } #[test] fn unit_structs() { // TODO: Instantiate a unit-like struct! let unit_like_struct =UnitLikeStruct; let message = format!("{:?}s are fun!", unit_like_struct); assert_eq!(message, "UnitLikeStructs are fun!"); } }