diff options
| author | bors <bors@rust-lang.org> | 2018-03-28 22:18:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-03-28 22:18:13 +0000 |
| commit | d52c44ea8df9f9045e6059cb2d37df743be50bb1 (patch) | |
| tree | c23ef9f643221d7f4b1869f7a681248cff99f304 /src/liballoc/string.rs | |
| parent | e5277c1457d397f22ba18a1d40c1318729becbb4 (diff) | |
| parent | 30560bb99a8875560bbad9030715520b8300110c (diff) | |
| download | rust-d52c44ea8df9f9045e6059cb2d37df743be50bb1.tar.gz rust-d52c44ea8df9f9045e6059cb2d37df743be50bb1.zip | |
Auto merge of #49460 - kennytm:rollup, r=kennytm
Rollup of 12 pull requests - Successful merges: #49243, #49329, #49364, #49400, #49405, #49427, #49428, #49429, #49439, #49442, #49444, #49452 - Failed merges:
Diffstat (limited to 'src/liballoc/string.rs')
| -rw-r--r-- | src/liballoc/string.rs | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/src/liballoc/string.rs b/src/liballoc/string.rs index e253122ffd6..23c12bef3aa 100644 --- a/src/liballoc/string.rs +++ b/src/liballoc/string.rs @@ -1015,6 +1015,34 @@ impl String { self.vec.shrink_to_fit() } + /// Shrinks the capacity of this `String` with a lower bound. + /// + /// The capacity will remain at least as large as both the length + /// and the supplied value. + /// + /// Panics if the current capacity is smaller than the supplied + /// minimum capacity. + /// + /// # Examples + /// + /// ``` + /// #![feature(shrink_to)] + /// let mut s = String::from("foo"); + /// + /// s.reserve(100); + /// assert!(s.capacity() >= 100); + /// + /// s.shrink_to(10); + /// assert!(s.capacity() >= 10); + /// s.shrink_to(0); + /// assert!(s.capacity() >= 3); + /// ``` + #[inline] + #[unstable(feature = "shrink_to", reason = "new API", issue="0")] + pub fn shrink_to(&mut self, min_capacity: usize) { + self.vec.shrink_to(min_capacity) + } + /// Appends the given [`char`] to the end of this `String`. /// /// [`char`]: ../../std/primitive.char.html @@ -1177,8 +1205,6 @@ impl String { /// # Examples /// /// ``` - /// #![feature(string_retain)] - /// /// let mut s = String::from("f_o_ob_ar"); /// /// s.retain(|c| c != '_'); @@ -1186,7 +1212,7 @@ impl String { /// assert_eq!(s, "foobar"); /// ``` #[inline] - #[unstable(feature = "string_retain", issue = "43874")] + #[stable(feature = "string_retain", since = "1.26.0")] pub fn retain<F>(&mut self, mut f: F) where F: FnMut(char) -> bool { |
