Use raw pointer casts for slice, str's .as_ptr()

We can now use raw pointer casts `*const [T] as *const T` and
`*const str as *const u8` instead of .repr() for getting the
pointer out of a slice.
This commit is contained in:
Ulrik Sverdrup 2016-03-01 20:21:55 +01:00
parent 09130044ce
commit 63c4065af0
2 changed files with 5 additions and 5 deletions

View File

@ -285,12 +285,12 @@ impl<T> SliceExt for [T] {
#[inline]
unsafe fn get_unchecked(&self, index: usize) -> &T {
&*(self.repr().data.offset(index as isize))
&*(self.as_ptr().offset(index as isize))
}
#[inline]
fn as_ptr(&self) -> *const T {
self.repr().data
self as *const [T] as *const T
}
fn binary_search_by<F>(&self, mut f: F) -> Result<usize, usize> where
@ -448,12 +448,12 @@ impl<T> SliceExt for [T] {
#[inline]
unsafe fn get_unchecked_mut(&mut self, index: usize) -> &mut T {
&mut *(self.repr().data as *mut T).offset(index as isize)
&mut *self.as_mut_ptr().offset(index as isize)
}
#[inline]
fn as_mut_ptr(&mut self) -> *mut T {
self.repr().data as *mut T
self as *mut [T] as *mut T
}
#[inline]

View File

@ -1894,7 +1894,7 @@ impl StrExt for str {
#[inline]
fn as_ptr(&self) -> *const u8 {
self.repr().data
self as *const str as *const u8
}
#[inline]