Skip to content

Commit 79b8ad8

Browse files
Implement Copy for IoSlice
1 parent 87b0d83 commit 79b8ad8

File tree

10 files changed

+10
-0
lines changed

10 files changed

+10
-0
lines changed

src/libstd/io/mod.rs

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

src/libstd/sys/cloudabi/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::mem;
22

3+
#[derive(Copy, Clone)]
34
pub struct IoSlice<'a>(&'a [u8]);
45

56
impl<'a> IoSlice<'a> {

src/libstd/sys/hermit/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::mem;
22

3+
#[derive(Copy, Clone)]
34
pub struct IoSlice<'a>(&'a [u8]);
45

56
impl<'a> IoSlice<'a> {

src/libstd/sys/sgx/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::mem;
22

3+
#[derive(Copy, Clone)]
34
pub struct IoSlice<'a>(&'a [u8]);
45

56
impl<'a> IoSlice<'a> {

src/libstd/sys/unix/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use crate::slice;
33

44
use libc::{c_void, iovec};
55

6+
#[derive(Copy, Clone)]
67
#[repr(transparent)]
78
pub struct IoSlice<'a> {
89
vec: iovec,

src/libstd/sys/vxworks/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use crate::slice;
33

44
use libc::{c_void, iovec};
55

6+
#[derive(Copy, Clone)]
67
#[repr(transparent)]
78
pub struct IoSlice<'a> {
89
vec: iovec,

src/libstd/sys/wasi/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::marker::PhantomData;
22
use crate::slice;
33

4+
#[derive(Copy, Clone)]
45
#[repr(transparent)]
56
pub struct IoSlice<'a> {
67
vec: wasi::Ciovec,

src/libstd/sys/wasm/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::mem;
22

3+
#[derive(Copy, Clone)]
34
pub struct IoSlice<'a>(&'a [u8]);
45

56
impl<'a> IoSlice<'a> {

src/libstd/sys/windows/c.rs

+1
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ pub struct WSADATA {
295295
pub szSystemStatus: [u8; WSASYS_STATUS_LEN + 1],
296296
}
297297

298+
#[derive(Copy, Clone)]
298299
#[repr(C)]
299300
pub struct WSABUF {
300301
pub len: ULONG,

src/libstd/sys/windows/io.rs

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use crate::marker::PhantomData;
22
use crate::slice;
33
use crate::sys::c;
44

5+
#[derive(Copy, Clone)]
56
#[repr(transparent)]
67
pub struct IoSlice<'a> {
78
vec: c::WSABUF,

0 commit comments

Comments
 (0)