1. 레퍼런스를 포인터로 변환하는게 unsafe가 아닌 이유는?
레퍼런스는 알맞은 메모리 위치를 가르키고 있다고 보장돼있기 때문에 안전합니다
2. std::mem::replace가 unsafe가 아닌 이유는?
이 코드는
이거랑 다를게 없기 때문입니다
3. std::mem::forget이 unsafe가 아닌 이유는?
Rust에서 메모리릭과 소멸자 호출에 실패하는건 safe한 행동으로 간주되기 때문입니다
실제로 이 코드는 실행하면 메모리릭이 일어나지만 unsafe도 필요없고 컴파일 에러도 일어나지 않습니다
그럼 3번은 위험한거아님? 메모리릭이 일어났는데 러스트 컴파일러가 못잡은거잖아
메모리릭은 unsafe로 안침
ㅇㅎ
메모리릭이 safe한 언어면 결국 메모리릭 잡으려고 똥꼬쇼해야되는건 똑같네
릭내는게 safe하긴 하지만 컨테이너들이 메모리 줄줄새도록 만든건 아니니까
무브 시맨틱있어서 그렇게 힘들진 않음