diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-09-22 08:28:35 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-09-23 18:31:52 -0700 |
| commit | 50375139e2bc69920786411f7b1e05866898ed7a (patch) | |
| tree | 0153201a61b77258b57c1abaf5ab6115d6624b54 | |
| parent | 31be3319bf5ef1a74ef1044f5bd52dd95947c959 (diff) | |
| download | rust-50375139e2bc69920786411f7b1e05866898ed7a.tar.gz rust-50375139e2bc69920786411f7b1e05866898ed7a.zip | |
Deal with the fallout of string stabilization
| -rw-r--r-- | src/compiletest/runtest.rs | 3 | ||||
| -rw-r--r-- | src/libcollections/str.rs | 4 | ||||
| -rw-r--r-- | src/libcollections/string.rs | 59 | ||||
| -rw-r--r-- | src/libgetopts/lib.rs | 26 | ||||
| -rw-r--r-- | src/libgraphviz/lib.rs | 8 | ||||
| -rw-r--r-- | src/libregex/compile.rs | 2 | ||||
| -rw-r--r-- | src/libregex/re.rs | 7 | ||||
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/externalfiles.rs | 2 | ||||
| -rw-r--r-- | src/librustdoc/html/render.rs | 3 | ||||
| -rw-r--r-- | src/librustdoc/passes.rs | 2 | ||||
| -rw-r--r-- | src/libserialize/json.rs | 22 | ||||
| -rw-r--r-- | src/libstd/path/windows.rs | 20 |
13 files changed, 88 insertions, 74 deletions
diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index f3e9177fc6e..268a6020a10 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -444,7 +444,8 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) { "-nx".to_string(), format!("-command={}", debugger_script.as_str().unwrap())); - let gdb_path = tool_path.append("/bin/arm-linux-androideabi-gdb"); + let mut gdb_path = tool_path; + gdb_path.push_str("/bin/arm-linux-androideabi-gdb"); let procsrv::Result { out, err, diff --git a/src/libcollections/str.rs b/src/libcollections/str.rs index f677b170bb3..d198e948ac8 100644 --- a/src/libcollections/str.rs +++ b/src/libcollections/str.rs @@ -698,7 +698,7 @@ pub trait StrAllocating: Str { let me = self.as_slice(); let mut out = String::with_capacity(me.len()); for c in me.chars() { - c.escape_default(|c| out.push_char(c)); + c.escape_default(|c| out.push(c)); } out } @@ -708,7 +708,7 @@ pub trait StrAllocating: Str { let me = self.as_slice(); let mut out = String::with_capacity(me.len()); for c in me.chars() { - c.escape_unicode(|c| out.push_char(c)); + c.escape_unicode(|c| out.push(c)); } out } diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs index cdb6ba1bcd7..6843996a9e1 100644 --- a/src/libcollections/string.rs +++ b/src/libcollections/string.rs @@ -159,7 +159,7 @@ impl String { if i > 0 { unsafe { - res.push_bytes(v.slice_to(i)) + res.as_mut_vec().push_all(v.slice_to(i)) }; } @@ -176,10 +176,10 @@ impl String { macro_rules! error(() => ({ unsafe { if subseqidx != i_ { - res.push_bytes(v.slice(subseqidx, i_)); + res.as_mut_vec().push_all(v.slice(subseqidx, i_)); } subseqidx = i; - res.push_bytes(REPLACEMENT); + res.as_mut_vec().push_all(REPLACEMENT); } })) @@ -245,7 +245,7 @@ impl String { } if subseqidx < total { unsafe { - res.push_bytes(v.slice(subseqidx, total)) + res.as_mut_vec().push_all(v.slice(subseqidx, total)) }; } Owned(res.into_string()) @@ -271,7 +271,7 @@ impl String { let mut s = String::with_capacity(v.len() / 2); for c in str::utf16_items(v) { match c { - str::ScalarValue(c) => s.push_char(c), + str::ScalarValue(c) => s.push(c), str::LoneSurrogate(_) => return None } } @@ -332,6 +332,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let s = String::from_str("hello"); /// let big = s.append(" ").append("world").append("!"); /// // s has now been moved and cannot be used @@ -362,11 +363,11 @@ impl String { } let mut buf = String::new(); - buf.push_char(ch); + buf.push(ch); let size = buf.len() * length; buf.reserve(size); for _ in range(1, length) { - buf.push_char(ch) + buf.push(ch) } buf } @@ -380,6 +381,7 @@ impl String { /// # Example /// /// ```rust + /// # #![allow(deprecated)] /// let s = String::from_byte(104); /// assert_eq!(s.as_slice(), "h"); /// ``` @@ -417,7 +419,7 @@ impl String { #[unstable = "duplicate of iterator-based functionality"] pub fn grow(&mut self, count: uint, ch: char) { for _ in range(0, count) { - self.push_char(ch) + self.push(ch) } } @@ -426,6 +428,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let s = String::with_capacity(10); /// assert!(s.byte_capacity() >= 10); /// ``` @@ -441,7 +444,7 @@ impl String { /// /// ``` /// let s = String::with_capacity(10); - /// assert!(s.byte_capacity() >= 10); + /// assert!(s.capacity() >= 10); /// ``` #[inline] #[unstable = "just implemented, needs to prove itself"] @@ -455,9 +458,9 @@ impl String { /// /// ``` /// let mut s = String::with_capacity(10); - /// let before = s.byte_capacity(); + /// let before = s.capacity(); /// s.reserve_additional(100); - /// assert!(s.byte_capacity() - before >= 100); + /// assert!(s.capacity() - before >= 100); /// ``` #[inline] pub fn reserve_additional(&mut self, extra: uint) { @@ -471,7 +474,7 @@ impl String { /// ``` /// let mut s = String::new(); /// s.reserve(10); - /// assert!(s.byte_capacity() >= 10); + /// assert!(s.capacity() >= 10); /// ``` #[inline] pub fn reserve(&mut self, capacity: uint) { @@ -485,7 +488,7 @@ impl String { /// ``` /// let mut s = String::new(); /// s.reserve_exact(10); - /// assert_eq!(s.byte_capacity(), 10); + /// assert_eq!(s.capacity(), 10); /// ``` #[inline] pub fn reserve_exact(&mut self, capacity: uint) { @@ -499,9 +502,9 @@ impl String { /// ``` /// let mut s = String::from_str("foo"); /// s.reserve(100); - /// assert!(s.byte_capacity() >= 100); + /// assert!(s.capacity() >= 100); /// s.shrink_to_fit(); - /// assert_eq!(s.byte_capacity(), 3); + /// assert_eq!(s.capacity(), 3); /// ``` #[inline] pub fn shrink_to_fit(&mut self) { @@ -527,7 +530,7 @@ impl String { /// assert_eq!(s.as_slice(), "abc123"); /// ``` #[inline] - #[stable = "function just renamed from push_char"] + #[stable = "function just renamed from push"] pub fn push(&mut self, ch: char) { let cur_len = self.len(); // This may use up to 4 bytes. @@ -552,6 +555,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let mut s = String::new(); /// unsafe { /// s.push_bytes([104, 101, 108, 108, 111]); @@ -587,6 +591,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let mut s = String::from_str("hello"); /// unsafe { /// let bytes = s.as_mut_bytes(); @@ -598,7 +603,7 @@ impl String { /// assert_eq!(s.as_slice(), "h3ll0") /// ``` #[inline] - #[deprecated = "call .as_mut_vec().as_slice() instead"] + #[deprecated = "call .as_mut_vec().as_mut_slice() instead"] pub unsafe fn as_mut_bytes<'a>(&'a mut self) -> &'a mut [u8] { self.vec.as_mut_slice() } @@ -631,6 +636,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let mut s = String::from_str("hell"); /// unsafe { /// s.push_byte(111); @@ -652,6 +658,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let mut s = String::from_str("foo"); /// unsafe { /// assert_eq!(s.pop_byte(), Some(111)); @@ -714,6 +721,7 @@ impl String { /// # Example /// /// ``` + /// # #![allow(deprecated)] /// let mut s = String::from_str("foo"); /// unsafe { /// assert_eq!(s.shift_byte(), Some(102)); @@ -722,7 +730,7 @@ impl String { /// assert_eq!(s.shift_byte(), None); /// } /// ``` - #[deprecated = "call .as_mut_rev().remove(0)"] + #[deprecated = "call .as_mut_vec().remove(0)"] pub unsafe fn shift_byte(&mut self) -> Option<u8> { self.vec.remove(0) } @@ -782,6 +790,7 @@ impl String { /// /// If `idx` does not lie on a character boundary or is out of bounds, then /// this function will fail. + #[unstable = "the failure semantics of this function are uncertain"] pub fn insert(&mut self, idx: uint, ch: char) { let len = self.len(); assert!(idx <= len); @@ -854,7 +863,7 @@ impl FromIterator<char> for String { impl Extendable<char> for String { fn extend<I:Iterator<char>>(&mut self, mut iterator: I) { for ch in iterator { - self.push_char(ch) + self.push(ch) } } } @@ -1171,13 +1180,13 @@ mod tests { } #[test] - fn test_push_char() { + fn test_push() { let mut data = String::from_str("ประเทศไทย中"); - data.push_char('华'); - data.push_char('b'); // 1 byte - data.push_char('¢'); // 2 byte - data.push_char('€'); // 3 byte - data.push_char('𤭢'); // 4 byte + data.push('华'); + data.push('b'); // 1 byte + data.push('¢'); // 2 byte + data.push('€'); // 3 byte + data.push('𤭢'); // 4 byte assert_eq!(data.as_slice(), "ประเทศไทย中华b¢€𤭢"); } diff --git a/src/libgetopts/lib.rs b/src/libgetopts/lib.rs index f95ecb412d1..cac67ef4041 100644 --- a/src/libgetopts/lib.rs +++ b/src/libgetopts/lib.rs @@ -685,9 +685,9 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { match short_name.len() { 0 => {} 1 => { - row.push_char('-'); + row.push('-'); row.push_str(short_name.as_slice()); - row.push_char(' '); + row.push(' '); } _ => fail!("the short name should only be 1 ascii char long"), } @@ -698,7 +698,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { _ => { row.push_str("--"); row.push_str(long_name.as_slice()); - row.push_char(' '); + row.push(' '); } } @@ -707,9 +707,9 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { No => {} Yes => row.push_str(hint.as_slice()), Maybe => { - row.push_char('['); + row.push('['); row.push_str(hint.as_slice()); - row.push_char(']'); + row.push(']'); } } @@ -718,7 +718,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { let rowlen = row.as_slice().char_len(); if rowlen < 24 { for _ in range(0, 24 - rowlen) { - row.push_char(' '); + row.push(' '); } } else { row.push_str(desc_sep.as_slice()) @@ -728,7 +728,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String { let mut desc_normalized_whitespace = String::new(); for word in desc.as_slice().words() { desc_normalized_whitespace.push_str(word); - desc_normalized_whitespace.push_char(' '); + desc_normalized_whitespace.push(' '); } // FIXME: #5516 should be graphemes not codepoints @@ -755,12 +755,12 @@ fn format_option(opt: &OptGroup) -> String { let mut line = String::new(); if opt.occur != Req { - line.push_char('['); + line.push('['); } // Use short_name is possible, but fallback to long_name. if opt.short_name.len() > 0 { - line.push_char('-'); + line.push('-'); line.push_str(opt.short_name.as_slice()); } else { line.push_str("--"); @@ -768,18 +768,18 @@ fn format_option(opt: &OptGroup) -> String { } if opt.hasarg != No { - line.push_char(' '); + line.push(' '); if opt.hasarg == Maybe { - line.push_char('['); + line.push('['); } line.push_str(opt.hint.as_slice()); if opt.hasarg == Maybe { - line.push_char(']'); + line.push(']'); } } if opt.occur != Req { - line.push_char(']'); + line.push(']'); } if opt.occur == Multi { line.push_str(".."); diff --git a/src/libgraphviz/lib.rs b/src/libgraphviz/lib.rs index 19f58a210d0..4ae7f882212 100644 --- a/src/libgraphviz/lib.rs +++ b/src/libgraphviz/lib.rs @@ -426,7 +426,7 @@ impl<'a> LabelText<'a> { fn escape_str(s: &str) -> String { let mut out = String::with_capacity(s.len()); for c in s.chars() { - LabelText::escape_char(c, |c| out.push_char(c)); + LabelText::escape_char(c, |c| out.push(c)); } out } @@ -461,9 +461,11 @@ impl<'a> LabelText<'a> { /// Puts `suffix` on a line below this label, with a blank line separator. pub fn suffix_line(self, suffix: LabelText) -> LabelText<'static> { - let prefix = self.pre_escaped_content().into_string(); + let mut prefix = self.pre_escaped_content().into_string(); let suffix = suffix.pre_escaped_content(); - EscStr(str::Owned(prefix.append(r"\n\n").append(suffix.as_slice()))) + prefix.push_str(r"\n\n"); + prefix.push_str(suffix.as_slice()); + EscStr(str::Owned(prefix)) } } diff --git a/src/libregex/compile.rs b/src/libregex/compile.rs index 91c3da00162..a0fefd24214 100644 --- a/src/libregex/compile.rs +++ b/src/libregex/compile.rs @@ -105,7 +105,7 @@ impl Program { let mut pre = String::with_capacity(5); for inst in c.insts.slice_from(1).iter() { match *inst { - OneChar(c, FLAG_EMPTY) => pre.push_char(c), + OneChar(c, FLAG_EMPTY) => pre.push(c), _ => break } } diff --git a/src/libregex/re.rs b/src/libregex/re.rs index c2578d227ee..0c9b3a79bdf 100644 --- a/src/libregex/re.rs +++ b/src/libregex/re.rs @@ -26,9 +26,9 @@ pub fn quote(text: &str) -> String { let mut quoted = String::with_capacity(text.len()); for c in text.chars() { if parse::is_punct(c) { - quoted.push_char('\\') + quoted.push('\\') } - quoted.push_char(c); + quoted.push(c); } quoted } @@ -504,7 +504,8 @@ impl Regex { new.push_str(rep.reg_replace(&cap).as_slice()); last_match = e; } - new.append(text.slice(last_match, text.len())) + new.push_str(text.slice(last_match, text.len())); + return new; } /// Returns the original string of this regex. diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 660b6c7ade2..5ac7baaa6d1 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -1961,9 +1961,9 @@ fn lit_to_string(lit: &ast::Lit) -> String { ast::LitByte(b) => { let mut res = String::from_str("b'"); (b as char).escape_default(|c| { - res.push_char(c); + res.push(c); }); - res.push_char('\''); + res.push('\''); res }, ast::LitChar(c) => format!("'{}'", c), diff --git a/src/librustdoc/externalfiles.rs b/src/librustdoc/externalfiles.rs index 0931f132c02..08fb94a801c 100644 --- a/src/librustdoc/externalfiles.rs +++ b/src/librustdoc/externalfiles.rs @@ -64,7 +64,7 @@ pub fn load_external_files(names: &[String]) -> Option<String> { let mut out = String::new(); for name in names.iter() { out.push_str(load_or_return!(name.as_slice(), None, None).as_slice()); - out.push_char('\n'); + out.push('\n'); } Some(out) } diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index c831015e539..fe7b1be3eca 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1080,7 +1080,8 @@ impl Context { let mut json_out = BufferedWriter::new(try!(File::create(json_dst))); try!(stability.encode(&mut json::Encoder::new(&mut json_out))); - let title = stability.name.clone().append(" - Stability dashboard"); + let mut title = stability.name.clone(); + title.push_str(" - Stability dashboard"); let desc = format!("API stability overview for the Rust `{}` crate.", this.layout.krate); let page = layout::Page { diff --git a/src/librustdoc/passes.rs b/src/librustdoc/passes.rs index 33337594b4c..3c66a7c7850 100644 --- a/src/librustdoc/passes.rs +++ b/src/librustdoc/passes.rs @@ -276,7 +276,7 @@ pub fn collapse_docs(krate: clean::Crate) -> plugins::PluginResult { clean::NameValue(ref x, ref s) if "doc" == x.as_slice() => { docstr.push_str(s.as_slice()); - docstr.push_char('\n'); + docstr.push('\n'); }, _ => () } diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs index 14274ef9f9b..4d9bb87d133 100644 --- a/src/libserialize/json.rs +++ b/src/libserialize/json.rs @@ -1514,14 +1514,14 @@ impl<T: Iterator<char>> Parser<T> { if escape { match self.ch_or_null() { - '"' => res.push_char('"'), - '\\' => res.push_char('\\'), - '/' => res.push_char('/'), - 'b' => res.push_char('\x08'), - 'f' => res.push_char('\x0c'), - 'n' => res.push_char('\n'), - 'r' => res.push_char('\r'), - 't' => res.push_char('\t'), + '"' => res.push('"'), + '\\' => res.push('\\'), + '/' => res.push('/'), + 'b' => res.push('\x08'), + 'f' => res.push('\x0c'), + 'n' => res.push('\n'), + 'r' => res.push('\r'), + 't' => res.push('\t'), 'u' => match try!(self.decode_hex_escape()) { 0xDC00 .. 0xDFFF => return self.error(LoneLeadingSurrogateInHexEscape), @@ -1535,13 +1535,13 @@ impl<T: Iterator<char>> Parser<T> { let buf = [n1, try!(self.decode_hex_escape())]; match str::utf16_items(buf.as_slice()).next() { - Some(ScalarValue(c)) => res.push_char(c), + Some(ScalarValue(c)) => res.push(c), _ => return self.error(LoneLeadingSurrogateInHexEscape), } } n => match char::from_u32(n as u32) { - Some(c) => res.push_char(c), + Some(c) => res.push(c), None => return self.error(InvalidUnicodeCodePoint), }, }, @@ -1556,7 +1556,7 @@ impl<T: Iterator<char>> Parser<T> { self.bump(); return Ok(res); }, - Some(c) => res.push_char(c), + Some(c) => res.push(c), None => unreachable!() } } diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index 3f598e52806..803db4848ad 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -212,7 +212,7 @@ impl GenericPathUnsafe for Path { None if ".." == self.repr.as_slice() => { let mut s = String::with_capacity(3 + filename.len()); s.push_str(".."); - s.push_char(SEP); + s.push(SEP); s.push_str(filename); self.update_normalized(s); } @@ -222,7 +222,7 @@ impl GenericPathUnsafe for Path { Some((_,idxa,end)) if self.repr.as_slice().slice(idxa,end) == ".." => { let mut s = String::with_capacity(end + 1 + filename.len()); s.push_str(self.repr.as_slice().slice_to(end)); - s.push_char(SEP); + s.push(SEP); s.push_str(filename); self.update_normalized(s); } @@ -235,7 +235,7 @@ impl GenericPathUnsafe for Path { Some((idxb,_,_)) => { let mut s = String::with_capacity(idxb + 1 + filename.len()); s.push_str(self.repr.as_slice().slice_to(idxb)); - s.push_char(SEP); + s.push(SEP); s.push_str(filename); self.update_normalized(s); } @@ -299,7 +299,7 @@ impl GenericPathUnsafe for Path { match me.prefix { Some(DiskPrefix) if me.repr.len() == plen => (), _ if !(me.repr.len() > plen && me.repr.as_bytes()[me.repr.len()-1] == SEP_BYTE) => { - s.push_char(SEP); + s.push(SEP); } _ => () } @@ -745,7 +745,7 @@ impl Path { Some(VerbatimUNCPrefix(x, 0)) if s.len() == 8 + x => { // the server component has no trailing '\' let mut s = String::from_str(s); - s.push_char(SEP); + s.push(SEP); Some(s) } _ => None @@ -815,20 +815,20 @@ impl Path { let mut s = String::with_capacity(n); match prefix { Some(DiskPrefix) => { - s.push_char(prefix_.as_bytes()[0].to_ascii() + s.push(prefix_.as_bytes()[0].to_ascii() .to_uppercase().to_char()); - s.push_char(':'); + s.push(':'); } Some(VerbatimDiskPrefix) => { s.push_str(prefix_.slice_to(4)); - s.push_char(prefix_.as_bytes()[4].to_ascii() + s.push(prefix_.as_bytes()[4].to_ascii() .to_uppercase().to_char()); s.push_str(prefix_.slice_from(5)); } Some(UNCPrefix(a,b)) => { s.push_str("\\\\"); s.push_str(prefix_.slice(2, a+2)); - s.push_char(SEP); + s.push(SEP); s.push_str(prefix_.slice(3+a, 3+a+b)); } Some(_) => s.push_str(prefix_), @@ -842,7 +842,7 @@ impl Path { } } for comp in it { - s.push_char(SEP); + s.push(SEP); s.push_str(comp); } Some(s) |
