borrow checker

대여 조합 판정표

참조자는 데이터 접근 권한을 빌립니다. 읽기 공유와 쓰기 독점을 한 화면에서 나누면 에러 원인을 빠르게 찾을 수 있습니다.

가능

여러 개의 &T

읽기만 한다면 여러 참조가 같은 값을 동시에 바라볼 수 있습니다.

가능

하나의 &mut T

수정 권한은 한 곳에만 있어야 값 변경 순서가 명확합니다.

거부

&T&mut T

읽는 쪽이 값이 바뀌지 않는다고 기대하는 동안 쓰기를 섞을 수 없습니다.

거부

주인보다 긴 참조

참조 대상이 먼저 사라지면 댕글링 참조가 되므로 컴파일되지 않습니다.

마지막 사용 지점

참조는 선언 줄보다 마지막으로 쓰인 줄이 더 중요합니다.

쓰기 독점

값을 바꿀 참조가 있다면 같은 값의 다른 참조를 멈춥니다.

항상 유효

반환되는 참조는 실제로 살아 있는 값에서 빌려와야 합니다.