Skip to content

Commit 2d34a53

Browse files
committed
Implement DerefMut for String
`&mut str` is rarely useful, but it is for e.g. `AsciiExt::make_ascii_lowercase`.
1 parent 50d305e commit 2d34a53

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/libcollections/string.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,14 @@ impl ops::Deref for String {
989989
}
990990
}
991991

992+
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
993+
impl ops::DerefMut for String {
994+
#[inline]
995+
fn deref_mut(&mut self) -> &mut str {
996+
unsafe { mem::transmute(&mut self.vec[..]) }
997+
}
998+
}
999+
9921000
/// Wrapper type providing a `&String` reference via `Deref`.
9931001
#[unstable(feature = "collections")]
9941002
#[deprecated(since = "1.2.0",

0 commit comments

Comments
 (0)