Ante, Rust보다 유연한 borrow checker로 순환 가변성까지 안전하게 지원

Borrow Checking Zero-Cost Cyclic Mutability

Ante, Rust보다 유연한 borrow checker로 순환 가변성까지 안전하게 지원

Ante는 Rust처럼 소유권과 빌림을 기반으로 하되, 빌림 검사기를 더 관대하게 만든 함수형 언어다. 기존에는 `Distinct` 트레이트와 네 가지 참조 타입으로 공유 가변성을 허용했지만, 흔한 타입일수록 제약이 커지고 라이브러리 변경에 취약했다. 새 설계는 수명 대신 '장소(place)'를 도입하고, 불안정한 장소를 `!`로 표시해 벡터 요소에 대한 참조처럼 재할당으로 무효화될 수 있는 경우만 정밀하게 차단한다. 그 결과 Rust가 거부하는 `first_mut`/`last_mut` 동시 사용 같은 코드를 허용하면서도, 순환 가변성과 스레드 안전성을 정적으로 보장한다.

장소를 쓰면 빌림 검사 자체도 훨씬 쉬워진다! Ante의 빌림 검사는 사실 아주 단순하다. 값이 사용될 때마다 그 값이 참조하는 장소 중 이미 이동된 것이 있으면 오류를 내면 된다.

이 날의 다른 글

2026-10-21