Введение в пометки derive в Rust
Пометка над объявлением типа - это запись для компилятора, а не команда, которую выполняет программа. Она стоит перед структурой или перечислением и говорит, какую дополнительную работу нужно сделать при сборке. В этом разделе разберем пометку, которая просит самому дописать выполнение готовых трейтов из стандартной библиотеки.
В основном учебнике мы уже объявляли структуры и писали для них блоки выполнения трейтов вручную. Там видно каждый метод и каждое сравнение полей. Когда набор полей простой, одинаковую работу можно не повторять: имя трейта перечисляют в пометке, а компилятор сам собирает нужный блок выполнения по полям типа.
Так удобно подключать печать для отладки,
сравнение на равенство и явное копирование
значения. Имена трейтов перечисляют внутри записи
#[derive(...)] над типом. Несколько
имен пишут через запятую в одной пометке,
а не отдельной строкой на каждый трейт.
Дальше разберем печать полей целиком, сравнение структур по полям, явную копию и копирование при записи, а также несколько имен в одном списке и задачи на закрепление.