diff --git a/src/libio/cursor.rs b/src/libio/cursor.rs index 4ee0816..43104fb 100644 --- a/src/libio/cursor.rs +++ b/src/libio/cursor.rs @@ -62,12 +62,8 @@ impl Write for Cursor<&mut [u8]> { fn write(&mut self, buf: &[u8]) -> Result { let data = &mut self.inner[self.pos..]; let len = buf.len().min(data.len()); - for i in 0..len { - unsafe { - asm!("", options(preserves_flags, nostack, readonly)); - } - data[i] = buf[i]; - } + // as long as 'copy_work_buffer' is used in drtioaux, memcpy here is allowed + data[..len].copy_from_slice(&buf[..len]); self.pos += len; Ok(len) }