역방향으로 생각하는 새로운 대여 검사 방식
Valen의 대여 검사기는 함수 본문을 뒤에서 앞으로 훑으며 참조의 사용, 선언, 변경을 추적합니다. 글은 이 방식이 마지막 사용 지점을 찾고 반복문을 처리하는 데 편리하다고 설명하지만, 반복문 처리에는 별도 규칙이 필요하며 검사기의 기능도 아직 완성되지 않았습니다.
언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.
Valen의 대여 검사기는 함수 본문을 뒤에서 앞으로 훑으며 참조의 사용, 선언, 변경을 추적합니다. 글은 이 방식이 마지막 사용 지점을 찾고 반복문을 처리하는 데 편리하다고 설명하지만, 반복문 처리에는 별도 규칙이 필요하며 검사기의 기능도 아직 완성되지 않았습니다.
Valen은 참조가 가리키는 데이터의 경로를 컴파일러가 추적해 해제 뒤 사용(use-after-free)을 막는 대여 검사 방식을 제안합니다. Rust의 ‘공유 또는 변경’ 규칙 대신 무효화 여부를 검사해 같은 객체를 가리키는 여러 참조의 읽기와 쓰기를 허용하며, Rust 상호운용과 참조 카운팅 지원도 내다봅니다.
Rust를 먼저 배운 개발자가 C를 익히며 마주친 차이를 불리언, 문자열, 정수 폭, 오류 처리, 배열, 포인터 사례로 설명합니다. C의 동작을 이해하고 메모리·플랫폼 관련 실수를 피하는 데 도움이 되는 입문용 비교 글입니다.
비싼 값을 캐시에 저장할 때 Arc를 쓰면 값 전체를 복제하지 않고 공유할 수 있지만, Arc 안의 특정 변형만 가리키는 Arc를 만들기는 어렵습니다. 글은 Pin과 자체 참조 구조체를 이용한 투영 방법을 제안하며, 댓글에서는 투영 함수의 soundness 문제와 Arc만으로 주소 안정성을 확보하는 방안을 지적합니다.