derive keyword

#[derive(TraitName)] is a specific type of attribute that tells the Rust compiler to generate a default implementation for the specified TraitName based on
the structure of the item it's attached to.