할당을 단순히 크기만큼 잘라서 던져주는 간단한 방식으로 만들어서 존나 빠름
대신 만든 객체에대해 safe하게 Drop을 호출할 방법이 없음
unsafe쓰거나 Drop이 아닌 타입을 쓰거나 그냥 메모리릭 시켜야함
용도는 임시로 할당해둘 객체들이 많고 해제시점이 명확할때 쓰면 좋음
만약 전부 같은 타입이라면 typed_arena를 쓰는것을 고려할수도 있음
핵심함수
여기서 &mut T가 &Bump의 수명을 들고있음
&라서 한 Bump로 여러번 할당이 가능함
동시에 Bump가 빌려진 상태로 있기때문에 레퍼런스를 쓰는 도중에 Bump가 드랍되는등 댕글링이 될 위험이 없음
그리고 이건 여태까지 Bump가 할당해준 메모리를 전부 재사용 가능하게 바꿈
여기서 &mut self를 먹는것이 중요함
앞에서 할당된 애들이 &Bump의 수명을 먹는다고 얘기했는데
여기선 &mut Bump를 요구함 즉 다른 할당된 애들이 하나도 없는 유일한 참조 일때만 이걸 쓸수있음
버팔러인줄