We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0dd6701 commit 1f25e30Copy full SHA for 1f25e30
[refs]
@@ -1,2 +1,2 @@
1
---
2
-refs/heads/master: 15e3ae79360508dc44f428f99bb483038fb2ab1e
+refs/heads/master: faef9490ae724bce4802405f826d65988b2b7b05
trunk/src/lib/istr.rs
@@ -16,11 +16,15 @@ fn from_estr(s: &str) -> istr {
16
}
17
18
fn to_estr(s: &istr) -> str {
19
- let s2 = "";
20
- for u in s {
21
- str::push_byte(s2, u);
22
- }
23
- ret s2;
+ if byte_len(s) == 0u { ret "" };
+ let v: [u8] = unsafe::reinterpret_cast(s);
+ let vlen = vec::len(v);
+ assert vlen > 0u;
+ vec::unsafe::set_len(v, vlen - 1u);
24
+ let res = str::unsafe_from_bytes(v);
25
+ vec::unsafe::set_len(v, vlen);
26
+ unsafe::leak(v);
27
+ ret res;
28
29
30
fn from_estrs(ss: &[str]) -> [istr] {
0 commit comments