The Option Api uses a unifying simple model, where most methods are called by self, and .as_ref() and .as_mut() are used to modify the access mode.
The Iteration methods still live in the old paradigm, so fn iter(&self), fn mut_iter(&mut self) and fn move_iter(self) all still exist.
I propose simplify this by using the same model as the rest of the API, providing only fn iter(self) -> Item<T>.
Motivation:
- Consistency
- Simplification of the API – iterating Option is rare, so we can afford to collapse these into one method.
EDIT: I changed my mind about this after trying to implement it: Option is ok with 3 iteration methods for consistency with other containers.