You can always pass an arena where a gpa is expected and there will be no leaks, because freeing the arena frees everything inside. Worst case scenario it will cause inefficient usage of the arena. I think the term for that is “fragmentation” - maybe that’s what you meant. For example if the allocator is used for an ArrayList, every time it resizes, with an arena, unless it happened to be the most recent allocation, it would not be able to reuse the old memory that was used before resizing. Until, that is, the arena is freed. Then all the memory is reclaimed.
8 Likes