core: Inherit possible string functionality

This moves as much allocation as possible from teh std::str module into
core::str. This includes essentially all non-allocating functionality, mostly
iterators and slicing and such.

This primarily splits the Str trait into only having the as_slice() method,
adding a new StrAllocating trait to std::str which contains the relevant new
allocation methods. This is a breaking change if any of the methods of "trait
Str" were overriden. The old functionality can be restored by implementing both
the Str and StrAllocating traits.

[breaking-change]
This commit is contained in:
Alex Crichton
2014-04-30 23:06:36 -07:00
parent 544d909401
commit 9bae6ec828
18 changed files with 1986 additions and 1952 deletions

View File

@@ -71,4 +71,5 @@ pub mod option;
pub mod raw;
pub mod char;
pub mod slice;
pub mod str;
pub mod tuple;