unsafe fn xor_mem(ptr: *mut u8, mask: u32, len: usize) {
    #[allow(deprecated)]
    let mut b: u32 = uninitialized();
    #[allow(trivial_casts)]
    copy_nonoverlapping(ptr, &mut b as *mut _ as *mut u8, len);
    b ^= mask;
    #[allow(trivial_casts)]
    copy_nonoverlapping(&b as *const _ as *const u8, ptr, len);
}
// TODO: copy_nonoverlapping here compiles to call memcpy. While it is not so inefficient,
// it could be done better. The compiler does not see that len is limited to 3.
copy_nonoverlapping here compiles to call memcpy. While it is not so inefficient,
it could be done better. The compiler does not see that len is limited to 3.
copy_nonoverlapping here compiles to call memcpy . While it is not so inefficient it could be done better . The compiler does not see that len is limited to 3 .
unsafe fn xor_mem(ptr: *mut u8, mask: u32, len: usize) {
    #[allow(deprecated)]
    let mut b: u32 = uninitialized();
    #[allow(trivial_casts)]
    copy_nonoverlapping(ptr, &mut b as *mut _ as *mut u8, len);
    b ^= mask;
    #[allow(trivial_casts)]
    copy_nonoverlapping(&b as *const _ as *const u8, ptr, len);
}
unsafe fn xor_mem ( ptr : * mut u8 , mask : u32 , len : usize ) { # [ allow ( deprecated ) ] let mut b : u32 = uninitialized ( ) ; # [ allow ( trivial_casts ) ] copy_nonoverlapping ( ptr , & mut b as * mut _ as * mut u8 , len ) ; b ^= mask ; # [ allow ( trivial_casts ) ] copy_nonoverlapping ( & b as * const _ as * const u8 , ptr , len ) ; }
TODO: copy_nonoverlapping here compiles to call memcpy.
TODO : copy_nonoverlapping here compiles to call memcpy .
ptr
*mut u8
mask
u32
len
usize
ptr
*mut u8
mask
u32
len
usize