std: simplify str::as_imm_buf and vec::as_{imm,mut}_buf

This commit is contained in:
Erick Tryzelaar
2013-07-23 12:31:00 -07:00
parent 037a5b1af4
commit cced3c9013
2 changed files with 6 additions and 12 deletions

View File

@@ -1957,11 +1957,8 @@ impl<'self> StrSlice<'self> for &'self str {
*/
#[inline]
fn as_imm_buf<T>(&self, f: &fn(*u8, uint) -> T) -> T {
unsafe {
let v: *(*u8, uint) = cast::transmute(self);
let (buf, len) = *v;
f(buf, len)
}
let v: &[u8] = unsafe { cast::transmute(*self) };
v.as_imm_buf(f)
}
/**