Closed
Description
Tracking issue for rust-lang/rfcs#235, there are a number of sub-issues associated with this:
Backwards incompatible changes to make:
- Remove collections traits - @alexcrichton collections: Remove all collections traits #18474
- Add a
Borrow
trait - @aturon libs: Add borrow module, deprecate _equiv and friends #18910 - Add methods using the
Borrow
trait, deprecating_equiv
methods - @aturon libs: Add borrow module, deprecate _equiv and friends #18910 - Ensure construction methods follow conventions -
- Ensure
FromIterator
is implemented - @gamazeps - Ensure insertion methods follow conventions -
- Rename
Extendable
toExtend
- @gamazeps Ensure Extend is implemented and renamed Extendable to Extend #18475 - Ensure
Extend
is implemented - @gamazeps Ensure Extend is implemented and renamed Extendable to Extend #18475 - Ensure deletion methods follow conventions -
- Ensure inspection/mutation methods follow conventions -
- Implement
Index
andIndexMut
where appropriate - @alexcrichton - collections: Enable IndexMut for some collections #18445 - Ensure iteration methods follow conventions -
- Ensure capacity-related methods follow conventions -
- Implement bounded iterators for
TreeMap
- Ensure set operations follow conventions -
- Ensure map operations follow conventions -
- Implement
Deref
for strings and vectors - @alexcrichton - collections: impl Deref for Vec/String #18443 - Ensure string api related methods are follow utf8/byte conventions -
- Add
repeat
tostd::iter
and the prelude - @jakub- Add arepeat
function to the prelude #18468
Backwards compatible changes that will require additional language features:
- Add
ByNeed
andPredicate
traits (needs negative bounds to work with unboxed closures)
Backwards compatible changes to make: