Crabtime
Zig의 Comptime을 Rust에서 사용합시다
Features
- 컴파일 타임에 인라인 Rust 로직을 평가하여 새로운 코드를 생성하여 추가해주는 매크로
- Procedural 매크로보다 더 많은 유연성과 성능을 제공하는 동시에 macro_rules보다 읽고 쓰기가 더 쉽고 자연스러움
- Token Stream/Macro Fragments/Rust 코드로 Input/Output 모두 지원
- IDE 지원, 코드 포맷팅, 인라인 정의 가능하며 가독성이 뛰어남
- 원샷-eval : 복잡한 컴파일 타임 연산을 간단하게 처리 가능
- 함수형 매크로 (Function-like Macros)
- #[crabtime::function]으로 함수형 매크로 정의 가능
- 정의된 함수는 매크로로 변환되어 빌드 시점에 실행됨
- 표준 #[macro_export] 속성을 사용해 매크로 내보내기 가능