Except that you can’t call all the methods like push since you don’t have a &mut Vec. I’m pretty sure that @tmccombs is right:
impl<T> From<Vec<T>> for Pin<Vec<T>> { /* ... */ }
is valid (using @withoutboats’s new API). I don’t think this should be restricted to Box<[T]>, since Vec can provide a lot more, in addition to not requiring a reallocation on creation. Going through the list of methods (just those on Vec, not those on []), it seems to me that clear, truncate, and set_len should work without modification on Pin<Vec> and push, append, resize, resize_with, resize_default, and extend_from_slice can work if they are modified to return errors instead of reallocating when the Vec is at capacity.
It definitely is a more niche use case, and I don’t think it would ever be possible to justify a standalone PinVec type in the standard library, but this is one of my favorite aspects of @withoutboats’s new API: it allows for these more obscure cases without extra work.