Use mem::transmute not manual pointer casting

This avoids an `alloca` in optimised code and looks less heavy to read.
This commit is contained in:
Simonas Kazlauskas
2015-11-09 21:25:56 +02:00
parent 70029d6996
commit f261f442bb
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -179,7 +179,8 @@ impl<T> ::std::ops::Deref for Symbol<T> {
type Target = T;
fn deref(&self) -> &T {
unsafe {
&*(&self.pointer as *const _ as *const T)
// Additional reference level for a dereference on `deref` return value.
::std::mem::transmute(&self.pointer)
}
}
}
+2 -1
View File
@@ -120,7 +120,8 @@ impl<T> ::std::ops::Deref for Symbol<T> {
type Target = T;
fn deref(&self) -> &T {
unsafe {
&*(&self.pointer as *const _ as *const T)
// Additional reference level for a dereference on `deref` return value.
::std::mem::transmute(&self.pointer)
}
}
}