Deriving Traits

You can let the compiler derive a number of traits:

  1. #[derive(Debug, Clone, PartialEq, Eq, Default)]
  2. struct Player {
  3. name: String,
  4. strength: u8,
  5. hit_points: u8,
  6. }
  7. fn main() {
  8. let p1 = Player::default();
  9. let p2 = p1.clone();
  10. println!("Is {:?}\nequal to {:?}?\nThe answer is {}!", &p1, &p2,
  11. if p1 == p2 { "yes" } else { "no" });
  12. }