I have allocated a long vector, and filled it to nearly the end.

I don’t need the last few, remaining elements. That memory can be freed.

Is there a way to ‘chop off’ the last part of the vector – without creating a `view`

, or copying to a new vector (by slicing, `x[1:i]`

) ?

(Context is, I’m simulating a Poisson process within a fixed time interval:

```
using Distributions
function gen_Poisson_spikes(rate, duration)
N_distr = Poisson(rate * duration)
max_N = cquantile(N_distr, 1e-14) # Cannot take a much smaller chance than ~1e-15:
# https://github.com/JuliaStats/Rmath-julia/blob/master/src/qpois.c#L86
spikes = Vector{Float64}(undef, max_N)
ISI_distr = Exponential(inv(rate))
i = 0
t = zero(duration)
while t ≤ duration
i += 1
spikes[i] = (t += rand(ISI_distr))
end
spikes[1:i]
end
```

For rate = 100 Hz and duration = 10 minutes, the typical N ≈ 60000, and `max_N`

(at p < 1e-14) is 61855.

i.e. we don’t need the last ~1855, uninitialized elements of `spikes`

.

)