From 248b6e38b533d43b8b4adaf6d47efc62fe82ef2a Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Tue, 11 Jun 2013 00:52:43 +1000 Subject: [PATCH] std: replace str::substr with the method. --- src/libextra/rope.rs | 6 +++--- src/librustc/middle/resolve.rs | 6 +++--- src/libstd/str.rs | 16 +++------------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/libextra/rope.rs b/src/libextra/rope.rs index 24cbf1b3f4aa..f23a4433289e 100644 --- a/src/libextra/rope.rs +++ b/src/libextra/rope.rs @@ -83,9 +83,9 @@ pub fn of_str(str: @~str) -> Rope { * * # Return value * - * A rope representing the same string as `str::substr(str, byte_offset, - * byte_len)`. Depending on `byte_len`, this rope may be empty, flat or - * complex. + * A rope representing the same string as `str.substr(byte_offset, + * byte_len)`. Depending on `byte_len`, this rope may be empty, flat + * or complex. * * # Performance note * diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index 0f3a6c7629f1..96838c32266a 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -2684,11 +2684,11 @@ impl Resolver { match self.idents_to_str(module_path).rfind(':') { Some(idx) => { self.session.span_err(span, fmt!("unresolved import: could not find `%s` \ - in `%s`", str::substr(mpath, idx, - mpath.len() - idx), + in `%s`", mpath.substr(idx, + mpath.len() - idx), // idx - 1 to account for the extra // colon - str::substr(mpath, 0, idx - 1))); + mpath.substr(0, idx - 1))); }, None => (), }; diff --git a/src/libstd/str.rs b/src/libstd/str.rs index 8967b447fd7f..f525c34cc472 100644 --- a/src/libstd/str.rs +++ b/src/libstd/str.rs @@ -432,16 +432,6 @@ pub fn byte_slice_no_callback<'a>(s: &'a str) -> &'a [u8] { } } -/** - * Take a substring of another. - * - * Returns a slice pointing at `n` characters starting from byte offset - * `begin`. - */ -pub fn substr<'a>(s: &'a str, begin: uint, n: uint) -> &'a str { - s.slice(begin, begin + count_bytes(s, begin, n)) -} - /// Something that can be used to compare against a character pub trait CharEq { /// Determine if the splitter should split at the given character @@ -1854,7 +1844,7 @@ impl<'self> StrSlice<'self> for &'self str { */ #[inline] fn substr(&self, begin: uint, n: uint) -> &'self str { - substr(*self, begin, n) + s.slice(begin, begin + count_bytes(s, begin, n)) } /// Escape each char in `s` with char::escape_default. #[inline] @@ -2516,11 +2506,11 @@ mod tests { #[test] fn test_substr() { fn t(a: &str, b: &str, start: int) { - assert_eq!(substr(a, start as uint, b.len()), b); + assert_eq!(a.substr(start as uint, b.len()), b); } t("hello", "llo", 2); t("hello", "el", 1); - assert_eq!("ะเทศไท", substr("ประเทศไทย中华Việt Nam", 6u, 6u)); + assert_eq!("ะเทศไท", "ประเทศไทย中华Việt Nam".substr(6u, 6u)); } #[test]