RUST · BORROW

공유 대여와 가변 대여는 같은 시간에 섞이지 않는다

읽기 중인 값은 갑자기 바뀌지 않아야 하고, 쓰기 중인 값은 단독으로 접근되어야 합니다.

허용되는 대여 조합

& / &mut
&T + &T여러 공유 참조 허용
&mut T하나의 가변 참조만 허용
& + &mut공유와 가변 동시 사용 금지
마지막 사용참조 사용 종료 후 새 대여 가능
&T + &T&mut T& + &mut마지막 사용

컴파일러가 보는 질문

E0499 / E0502
읽기 공유값을 바꾸지 않으므로 여러 관찰자가 공존할 수 있습니다.
쓰기 단독변경 가능한 참조는 현재 값의 유일한 접근자여야 합니다.
NLL참조의 마지막 사용 이후에는 같은 스코프 안에서도 새 대여가 가능합니다.
컴파일 오류위반은 런타임 버그가 아니라 컴파일 에러로 막힙니다.