Mutating a view (not the underlying array)

I have a question about views.

I have a vector P::Vector in which I want to find a subset with a specific property. This can be done incrementally. I use a loop like this:

idxs = collect(eachindex(P))
Psubset = view(P, idxs)
while !itworks(Psubset)
    # update idxs by deleteat! or keepat! or resize!, e.g.
    deleteat!(idxs, somevector)
end

I’m wondering what kind of guarantees are given that this will continue to work in future versions? I.e. changing idxs and expecting it to show up in the view Psubset? I can’t find anything in the documentation, though I may have missed it.

It does for instance not work if idxs is a Vector{Bool}, because such indexing is converted to integer indices. I could of course add a Psubset = view(P, idxs) at the end of the loop, but then I risk an allocation, and this is deep in a parallel run where allocations will profoundly impact performance. I could also do this in some other way, avoiding views altogether, that is however not the question here.