Without the view you allocate a new array that is a copy of the slice of Y, and send this to mul to store the result in. This means Y is never changed in that case. When creating the view you actually use the memory of Y corresponding to that slice to send to mul to be written to.
4 Likes