Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn i_from_slice<T>(slice: &[u8]) -> Option<T>
- {
- if slice.len() == std::mem::size_of::<T>() {
- Some(unsafe { std::mem::transmute_copy(&slice) })
- } else {
- None
- }
- }
- fn i_from_slice_v2<T>(slice: &[u8]) -> Option<T>
- {
- if slice.len() == std::mem::size_of::<T>() {
- Some(unsafe { std::mem::transmute_copy(&slice[0]) })
- } else {
- None
- }
- }
- fn main() {
- let x = [0xFF,0xFF]; // should transmute to be 65535
- println!("{:?}", i_from_slice::<u16>(&x));
- println!("{:?}", i_from_slice_v2::<u16>(&x));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement