Direct Recursion
enum 안에 자기 자신이 직접 들어가면 크기가 끝없이 커진다.
직접 재귀 타입은 크기를 알 수 없지만 Box는 포인터 크기로 재귀 구조를 끊어 준다.
enum 안에 자기 자신이 직접 들어가면 크기가 끝없이 커진다.
Rust는 컴파일 시 타입 크기를 알아야 한다.
실제 값은 힙에 두고 스택에는 고정 크기 포인터만 둔다.
재귀 연결 구조를 Box로 감싸 표현할 수 있다.
Box는 힙 값을 단일 소유하며 스코프 끝에 해제한다.
간접 참조 비용이 있지만 재귀 타입 표현이 가능해진다.
Box는 값을 작게 만드는 것이 아니라 스택에 놓이는 표현을 포인터 하나로 고정하는 도구다.