derive 매크로는 타입 정의를 읽고 impl 코드를 다시 만든다
커스텀 derive는 사용자가 쓴 struct/enum 토큰을 파싱하고, trait 구현 코드를 토큰으로 생성해 컴파일러에게 돌려준다.
입력 토큰
문자열이 아닌 토큰
이름과 필드 확인
다시 TokenStream 반환
| 구분 | 의미 | 판단 |
|---|---|---|
| proc_macro | 컴파일 시 실행 | 빌드 환경에서 코드 생성 |
| syn | 입력 파싱 | AST처럼 다룸 |
| quote | 출력 생성 | Rust 코드로 펼침 |
핵심 derive 매크로는 런타임 기능이 아니라 컴파일 전에 trait 구현을 생성하는 파이프라인이다.