pub fn data_mut_unsafe<T>(&mut self) -> &mut T {
        if mem::size_of::<T>() > self.data.len() {
            panic!("trying to load from argument '{}' complex struct of size {} vs {}", self.name, mem::size_of::<T>(), self.data.len());
        }
        assert!(mem::size_of::<T>() <= self.data.len());
        let val = unsafe { ::std::slice::from_raw_parts_mut(self.data.as_ptr_mut() as *mut T, 1) };
        &mut val[0]
    }
/// yep, little bit of unsafety, as we want to invoke calls which are basically C stuffs
yep, little bit of unsafety, as we want to invoke calls which are basically C stuffs
yep little bit of unsafety as we want to invoke calls which are basically C stuffs
pub fn data_mut_unsafe<T>(&mut self) -> &mut T {
        if mem::size_of::<T>() > self.data.len() {
            panic!("trying to load from argument '{}' complex struct of size {} vs {}", self.name, mem::size_of::<T>(), self.data.len());
        }
        assert!(mem::size_of::<T>() <= self.data.len());
        let val = unsafe { ::std::slice::from_raw_parts_mut(self.data.as_ptr_mut() as *mut T, 1) };
        &mut val[0]
    }
pub fn data_mut_unsafe < T > ( & mut self ) -> & mut T { if mem :: size_of :: < T > ( ) > self . data . len ( ) { panic ! ( " " self name mem size_of T ( ) self data len ( ) ) ; } assert ! ( mem size_of T ( ) self data len ( ) ) ; let val = unsafe { :: std :: slice :: from_raw_parts_mut ( self . data . as_ptr_mut ( ) as * mut T , 1 ) } ; & mut val [ 0 ] }
yep, little bit of unsafety, as we want to invoke calls which are basically C stuffs
yep little bit of unsafety as we want to invoke calls which are basically C stuffs
&mut self
&mut self