Rust에 정제 타입 추가하기: 실현 가능성 조사

2024-12-24

이 글에서는 Rust 프로그래밍 언어에 정제 타입을 추가하는 실현 가능성을 탐구합니다. 측정 단위를 확인하기 위해 정제 타입을 사용한 정적 분석기 YAIOUOM의 경험을 바탕으로 Rust의 타입 시스템 내에서 정제 타입을 구현하는 방법을 살펴봅니다. 트레잇 해결 변경, 타입 변수 통합, 컴파일 후 타입 검사를 위한 플러그 가능한 키워드 메커니즘 도입 등 여러 가지 방법이 제시됩니다. 컴파일 초기 단계에서 단위 정보를 무시하고 나중에 확인하는 낙관적인 접근 방식이 더 실용적인 것으로 간주됩니다. API 설계와 에러 메시지 처리에 대해서도 논의됩니다. 앞으로 할 일에는 피드백 수집, 플러그인을 지원하는 rustc 드라이버 작성, Flux나 Liquid Haskell의 하위 집합 등 여러 정제 타입 구현이 포함됩니다.

더 보기