Mutable iterators are a common case where this is necessary. There's no way to explain to the borrow checker that next()
returns a different, non-overlapping mutable borrow each time if they all come from the same source. This can be reduced to implementation of slice.split_at_mut()
, which also requires such fudge.
8 Likes