1
Fork 0

Implement Copy for IoSlice

This commit is contained in:
LeSeulArtichaut 2020-02-23 18:18:45 +01:00
parent 87b0d83745
commit 79b8ad84c8
10 changed files with 10 additions and 0 deletions

View file

@ -1051,6 +1051,7 @@ impl<'a> DerefMut for IoSliceMut<'a> {
/// ABI compatible with the `iovec` type on Unix platforms and `WSABUF` on /// ABI compatible with the `iovec` type on Unix platforms and `WSABUF` on
/// Windows. /// Windows.
#[stable(feature = "iovec", since = "1.36.0")] #[stable(feature = "iovec", since = "1.36.0")]
#[derive(Copy, Clone)]
#[repr(transparent)] #[repr(transparent)]
pub struct IoSlice<'a>(sys::io::IoSlice<'a>); pub struct IoSlice<'a>(sys::io::IoSlice<'a>);

View file

@ -1,5 +1,6 @@
use crate::mem; use crate::mem;
#[derive(Copy, Clone)]
pub struct IoSlice<'a>(&'a [u8]); pub struct IoSlice<'a>(&'a [u8]);
impl<'a> IoSlice<'a> { impl<'a> IoSlice<'a> {

View file

@ -1,5 +1,6 @@
use crate::mem; use crate::mem;
#[derive(Copy, Clone)]
pub struct IoSlice<'a>(&'a [u8]); pub struct IoSlice<'a>(&'a [u8]);
impl<'a> IoSlice<'a> { impl<'a> IoSlice<'a> {

View file

@ -1,5 +1,6 @@
use crate::mem; use crate::mem;
#[derive(Copy, Clone)]
pub struct IoSlice<'a>(&'a [u8]); pub struct IoSlice<'a>(&'a [u8]);
impl<'a> IoSlice<'a> { impl<'a> IoSlice<'a> {

View file

@ -3,6 +3,7 @@ use crate::slice;
use libc::{c_void, iovec}; use libc::{c_void, iovec};
#[derive(Copy, Clone)]
#[repr(transparent)] #[repr(transparent)]
pub struct IoSlice<'a> { pub struct IoSlice<'a> {
vec: iovec, vec: iovec,

View file

@ -3,6 +3,7 @@ use crate::slice;
use libc::{c_void, iovec}; use libc::{c_void, iovec};
#[derive(Copy, Clone)]
#[repr(transparent)] #[repr(transparent)]
pub struct IoSlice<'a> { pub struct IoSlice<'a> {
vec: iovec, vec: iovec,

View file

@ -1,6 +1,7 @@
use crate::marker::PhantomData; use crate::marker::PhantomData;
use crate::slice; use crate::slice;
#[derive(Copy, Clone)]
#[repr(transparent)] #[repr(transparent)]
pub struct IoSlice<'a> { pub struct IoSlice<'a> {
vec: wasi::Ciovec, vec: wasi::Ciovec,

View file

@ -1,5 +1,6 @@
use crate::mem; use crate::mem;
#[derive(Copy, Clone)]
pub struct IoSlice<'a>(&'a [u8]); pub struct IoSlice<'a>(&'a [u8]);
impl<'a> IoSlice<'a> { impl<'a> IoSlice<'a> {

View file

@ -295,6 +295,7 @@ pub struct WSADATA {
pub szSystemStatus: [u8; WSASYS_STATUS_LEN + 1], pub szSystemStatus: [u8; WSASYS_STATUS_LEN + 1],
} }
#[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub struct WSABUF { pub struct WSABUF {
pub len: ULONG, pub len: ULONG,

View file

@ -2,6 +2,7 @@ use crate::marker::PhantomData;
use crate::slice; use crate::slice;
use crate::sys::c; use crate::sys::c;
#[derive(Copy, Clone)]
#[repr(transparent)] #[repr(transparent)]
pub struct IoSlice<'a> { pub struct IoSlice<'a> {
vec: c::WSABUF, vec: c::WSABUF,