@@ -144,11 +144,9 @@ pub struct MutArraySlice<'parent, T:'parent> {
144144
145145impl < ' parent , T > Array < T > for MutArraySlice < ' parent , T > {
146146 fn dimension_info < ' a > ( & ' a self ) -> & ' a [ DimensionInfo ] {
147- let info : & ' a [ DimensionInfo ] = unsafe {
148- match self . parent {
149- MutArrayParent :: Slice ( ref p) => mem:: transmute ( p. dimension_info ( ) ) ,
150- MutArrayParent :: Base ( ref p) => mem:: transmute ( p. dimension_info ( ) ) ,
151- }
147+ let info : & ' a [ DimensionInfo ] = match self . parent {
148+ MutArrayParent :: Slice ( ref p) => p. dimension_info ( ) ,
149+ MutArrayParent :: Base ( ref p) => p. dimension_info ( ) ,
152150 } ;
153151 & info[ 1 ..]
154152 }
@@ -195,11 +193,9 @@ impl<'parent, T> InternalArray<T> for MutArraySlice<'parent, T> {
195193 fn raw_get < ' a > ( & ' a self , idx : usize , size : usize ) -> & ' a T {
196194 let size = size * self . dimension_info ( ) [ 0 ] . len ;
197195 let idx = size * self . idx + idx;
198- unsafe {
199- match self . parent {
200- MutArrayParent :: Slice ( ref p) => mem:: transmute ( p. raw_get ( idx, size) ) ,
201- MutArrayParent :: Base ( ref p) => mem:: transmute ( p. raw_get ( idx, size) )
202- }
196+ match self . parent {
197+ MutArrayParent :: Slice ( ref p) => p. raw_get ( idx, size) ,
198+ MutArrayParent :: Base ( ref p) => p. raw_get ( idx, size)
203199 }
204200 }
205201}
@@ -208,11 +204,9 @@ impl<'parent, T> InternalMutableArray<T> for MutArraySlice<'parent, T> {
208204 fn raw_get_mut < ' a > ( & ' a mut self , idx : usize , size : usize ) -> & ' a mut T {
209205 let size = size * self . dimension_info ( ) [ 0 ] . len ;
210206 let idx = size * self . idx + idx;
211- unsafe {
212- match self . parent {
213- MutArrayParent :: Slice ( ref mut p) => mem:: transmute ( p. raw_get_mut ( idx, size) ) ,
214- MutArrayParent :: Base ( ref mut p) => mem:: transmute ( p. raw_get_mut ( idx, size) )
215- }
207+ match self . parent {
208+ MutArrayParent :: Slice ( ref mut p) => p. raw_get_mut ( idx, size) ,
209+ MutArrayParent :: Base ( ref mut p) => p. raw_get_mut ( idx, size)
216210 }
217211 }
218212}
0 commit comments