#[derive(...)]
Автоматически реализует трейты для типа.
Сигнатура
#[derive(Debug, Clone, PartialEq)]Атрибут derive заставляет компилятор сгенерировать реализации стандартных трейтов — Debug, Clone, PartialEq и других — для вашей структуры или перечисления.
#[derive(Debug, Clone)]
struct Point { x: i32, y: i32 }
let p = Point { x: 1, y: 2 };
println!("{:?}", p.clone()); // Point { x: 1, y: 2 }