Vec<T> Borrow

Vec 참조와 재할당 안전선

요소 참조가 살아 있는 동안 `push`로 벡터를 바꾸면, 재할당 때문에 참조가 오래된 메모리를 가리킬 수 있습니다.

컴파일러가 막는 흐름

E0502
1

Vec 생성

요소들은 힙의 연속된 공간에 저장됩니다.

2

요소 참조

`first`는 첫 요소의 위치를 빌립니다.

3

push 요청

`push`는 `&mut Vec`가 필요해 기존 대여와 충돌합니다.

4

참조 보호

재할당 가능성이 있으므로 오래된 참조 사용을 막습니다.