diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-04-30 23:06:36 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-05-07 08:16:14 -0700 |
| commit | 9bae6ec828fdc7f87838ee008cccef90e31b9f84 (patch) | |
| tree | 97ae34844c9949ff5a49a6b99ff70dd2f0cbf6c0 /src/libstd/path | |
| parent | 544d90940166a9a83194801437dd37c0b1872c86 (diff) | |
| download | rust-9bae6ec828fdc7f87838ee008cccef90e31b9f84.tar.gz rust-9bae6ec828fdc7f87838ee008cccef90e31b9f84.zip | |
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]
Diffstat (limited to 'src/libstd/path')
| -rw-r--r-- | src/libstd/path/windows.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index 758a76167cd..f21fbe1b6e6 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -21,7 +21,7 @@ use io::Writer; use iter::{AdditiveIterator, DoubleEndedIterator, Extendable, Rev, Iterator, Map}; use option::{Option, Some, None}; use slice::{Vector, OwnedVector, ImmutableVector}; -use str::{CharSplits, Str, StrVector, StrSlice}; +use str::{CharSplits, Str, StrAllocating, StrVector, StrSlice}; use strbuf::StrBuf; use vec::Vec; @@ -684,7 +684,7 @@ impl Path { } } - fn normalize_<S: Str>(s: S) -> (Option<PathPrefix>, StrBuf) { + fn normalize_<S: StrAllocating>(s: S) -> (Option<PathPrefix>, StrBuf) { // make borrowck happy let (prefix, val) = { let prefix = parse_prefix(s.as_slice()); @@ -842,7 +842,7 @@ impl Path { } fn update_normalized<S: Str>(&mut self, s: S) { - let (prefix, path) = Path::normalize_(s); + let (prefix, path) = Path::normalize_(s.as_slice()); self.repr = path; self.prefix = prefix; self.update_sepidx(); |
