We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e9caa3f commit 07edf90Copy full SHA for 07edf90
src/libcore/str.rs
@@ -1869,11 +1869,6 @@ pub pure fn escape_unicode(s: &str) -> ~str {
1869
move out
1870
}
1871
1872
-extern mod rustrt {
1873
- #[rust_stack]
1874
- pure fn upcall_str_new_shared(cstr: *libc::c_char, len: size_t) -> @str;
1875
-}
1876
-
1877
/// Unsafe operations
1878
pub mod raw {
1879
@@ -2221,10 +2216,10 @@ impl &str: StrSlice {
2221
2216
2222
2217
#[inline]
2223
2218
pure fn to_managed() -> @str {
2224
- do str::as_buf(self) |p, _len| {
2225
- rustrt::upcall_str_new_shared(p as *libc::c_char,
2226
- self.len() as size_t)
2227
- }
2219
+ let v = at_vec::from_fn(self.len() + 1, |i| {
2220
+ if i == self.len() { 0 } else { self[i] }
+ });
+ unsafe { ::cast::transmute(v) }
2228
2229
2230
0 commit comments