Debug
개발 중 상태 확인과 테스트 실패 메시지에는 `Debug`가 기본입니다.
`#[derive(...)]`는 반복 코드를 줄이는 도구이면서 타입이 어떤 연산을 허용하는지 문서화하는 선언입니다.
개발 중 상태 확인과 테스트 실패 메시지에는 `Debug`가 기본입니다.
동등성, 정렬, 컬렉션 키 사용 여부에 따라 비교 trait를 고릅니다.
소유권 이동 대신 값 복제가 자연스러운 작은 타입에만 신중히 붙입니다.
옵션 구조체나 테스트 데이터 생성에 안전한 기본값이 있으면 유용합니다.
모든 값이 반사적 동등성을 만족할 때 `Eq`까지 붙입니다.
전체 순서가 명확한 타입에만 `Ord`를 사용합니다.
`Copy`는 암묵 복사가 생기므로 리소스 소유 타입에는 피합니다.
derive는 편의 기능이 아니라 타입의 사용 계약이므로 외부 API로 노출되는 타입일수록 더 신중하게 고릅니다.