Char, Bool and Unit
Char
- 🌟
// Make it work use std::mem::size_of_val; fn main() { let c1 = 'a'; assert_eq!(size_of_val(&c1),1); let c2 = '中'; assert_eq!(size_of_val(&c2),3); println!("Success!"); }
- 🌟
// Make it work fn main() { let c1 = "中"; print_char(c1); } fn print_char(c : char) { println!("{}", c); }
Bool
- 🌟
// Make println! work fn main() { let _f: bool = false; let t = true; if !t { println!("Success!"); } }
- 🌟
// Make it work fn main() { let f = true; let t = true && false; assert_eq!(t, f); println!("Success!"); }
Unit type
- 🌟🌟
// Make it work, don't modify `implicitly_ret_unit` ! fn main() { let _v: () = (); let v = (2, 3); assert_eq!(v, implicitly_ret_unit()); println!("Success!"); } fn implicitly_ret_unit() { println!("I will return a ()"); } // Don't use this one fn explicitly_ret_unit() -> () { println!("I will return a ()"); }
- 🌟🌟 What's the size of the unit type?
// Modify `4` in assert to make it work use std::mem::size_of_val; fn main() { let unit: () = (); assert!(size_of_val(&unit) == 4); println!("Success!"); }
You can find the solutions here(under the solutions path), but only use it when you need it