pub fn read_bytes_helper_for<T: Task, D>(
    task: &mut dyn Task,
    addr: RemotePtr<D>,
    data: &mut D,
    ok: Option<&mut bool>,
) {
    let buf = unsafe { std::slice::from_raw_parts_mut(data as *mut D as *mut u8, size_of::<D>()) };
    task.read_bytes_helper(RemotePtr::cast(addr), buf, ok);
}
/// NOT a Forwarded method due to extra template parameter
///
/// If the data can't all be read, then if `ok` is non-null, sets *ok to
/// false, otherwise asserts.
NOT a Forwarded method due to extra template parameter
If the data can't all be read, then if `ok` is non-null, sets *ok to
false, otherwise asserts.
NOT a Forwarded method due to extra template parameter If the data can ' t all be read then if ` ok ` is non - null sets * ok to false otherwise asserts .
pub fn read_bytes_helper_for<T: Task, D>(
    task: &mut dyn Task,
    addr: RemotePtr<D>,
    data: &mut D,
    ok: Option<&mut bool>,
) {
    let buf = unsafe { std::slice::from_raw_parts_mut(data as *mut D as *mut u8, size_of::<D>()) };
    task.read_bytes_helper(RemotePtr::cast(addr), buf, ok);
}
pub fn read_bytes_helper_for < T : Task , D > ( task : & mut dyn Task , addr : RemotePtr < D > , data : & mut D , ok : Option < & mut bool > , ) { let buf = unsafe { std :: slice :: from_raw_parts_mut ( data as * mut D as * mut u8 , size_of :: < D > ( ) ) } ; task . read_bytes_helper ( RemotePtr :: cast ( addr ) , buf , ok ) ; }
NOT a Forwarded method due to extra template parameter
If the data can't all be read, then if `ok` is non-null, sets *ok to
false, otherwise asserts.
NOT a Forwarded method due to extra template parameter If the data can ' t all be read then if ` ok ` is non - null sets * ok to false otherwise asserts .
task
&mut dyn Task
addr
RemotePtr<D>
data
&mut D
ok
Option<&mut bool>