Can you verify my understanding of how Vec<T> resizes in memory?
I noticed that Vec capacity grows dynamically when pushing data.
Is my mental model accurate? When the buffer is full, does it allocate a new, larger memory region elsewhere on the heap, move the elements over, and free the old block specifically to avoid overwriting or corrupting adjacent heap data?