한 Rust 개발자는 동시성 캐시의 큰 값을 매번 복제하지 않도록 Arc를 쓴 뒤, 열거형 내부 값만 소유된 참조처럼 반환하는 문제를 탐구했다. 글은 소유자를 붙잡는 PinRef와 고정된 메모리 주소, 참조 투영을 조합하는 과정을 설명한다. 공식 Arc 문서도 복제가 데이터 복사가 아니라 같은 할당의 공유임을 명시한다. 다만 작성자는 초기 구현의 결함과 미발견 정의되지 않은 동작 가능성을 인정해 검증된 범용 해법으로 보기 어렵다.
Tech로 돌아가기
Tech
Rust Arc 내부 값을 복제 없이 바라보는 설계 실험
공유 소유권에서 내부 참조를 꺼낼 때는 참조 계수뿐 아니라 주소 안정성과 수명 보장이 필요하다.