As discussed in PR #12160, we need an iterator-based approach for collections::list helper functions.
This task includes:
- Add a public type for
@List<T> (i.e. BoxedList<T>)
- Create a trait for handling
BoxedList<T> operations (i.e. BoxedListOps<T>)
- Create a
BoxedListIterator<T> and implement iter() from within BoxedListOps<T>
- Refactory current helper functions (i.e.
any(), has()...) to an iterator-based approach
- Move helper functions to
BoxedListOps<T> so they can become methods w/ 'self' (i.e. list.has(1u) instead of list::has(list, 1u))