diff options
| author | Steven Fackler <sfackler@gmail.com> | 2019-02-11 19:31:37 -0800 |
|---|---|---|
| committer | Steven Fackler <sfackler@gmail.com> | 2019-02-13 19:40:17 -0800 |
| commit | 596f18201c7863d8b02fe6fa1872cf3ba2b6b381 (patch) | |
| tree | 1b152d89591c590eb92bf1b18591836e88ccf347 /src/libstd/sys | |
| parent | 31bcec648aa57391115f877a2ca022d7ff6415aa (diff) | |
| download | rust-596f18201c7863d8b02fe6fa1872cf3ba2b6b381.tar.gz rust-596f18201c7863d8b02fe6fa1872cf3ba2b6b381.zip | |
impl Deref/DerefMut for IoVec types
Returning &'a mut [u8] was unsound, and we may as well just have them directly deref to their slices to make it easier to work with them.
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/cloudabi/io.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/redox/io.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/redox/net/tcp.rs | 4 | ||||
| -rw-r--r-- | src/libstd/sys/sgx/io.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/sgx/net.rs | 4 | ||||
| -rw-r--r-- | src/libstd/sys/unix/io.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/wasm/io.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/windows/io.rs | 6 |
8 files changed, 22 insertions, 22 deletions
diff --git a/src/libstd/sys/cloudabi/io.rs b/src/libstd/sys/cloudabi/io.rs index 9ee5788c580..8b02d3fd19d 100644 --- a/src/libstd/sys/cloudabi/io.rs +++ b/src/libstd/sys/cloudabi/io.rs @@ -7,7 +7,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } } @@ -21,12 +21,12 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { self.0 } } diff --git a/src/libstd/sys/redox/io.rs b/src/libstd/sys/redox/io.rs index 9ee5788c580..8b02d3fd19d 100644 --- a/src/libstd/sys/redox/io.rs +++ b/src/libstd/sys/redox/io.rs @@ -7,7 +7,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } } @@ -21,12 +21,12 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { self.0 } } diff --git a/src/libstd/sys/redox/net/tcp.rs b/src/libstd/sys/redox/net/tcp.rs index 08e12dc1ab1..4396a6f963c 100644 --- a/src/libstd/sys/redox/net/tcp.rs +++ b/src/libstd/sys/redox/net/tcp.rs @@ -35,7 +35,7 @@ impl TcpStream { } pub fn read_vectored(&self, buf: &mut [IoVecMut<'_>]) -> io::Result<usize> { - match buf.iter_mut().map(|b| b.as_mut_slice()).find(|b| !b.is_empty()) { + match buf.iter_mut().find(|b| !b.is_empty()) { Some(buf) => self.read(buf), None => Ok(0), } @@ -46,7 +46,7 @@ impl TcpStream { } pub fn write_vectored(&self, bufs: &[IoVec<'_>]) -> io::Result<usize> { - match buf.iter().map(|b| b.as_slice()).find(|b| !b.is_empty()) { + match buf.iter().find(|b| !b.is_empty()) { Some(buf) => self.write(buf), None => Ok(0), } diff --git a/src/libstd/sys/sgx/io.rs b/src/libstd/sys/sgx/io.rs index 9ee5788c580..8b02d3fd19d 100644 --- a/src/libstd/sys/sgx/io.rs +++ b/src/libstd/sys/sgx/io.rs @@ -7,7 +7,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } } @@ -21,12 +21,12 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { self.0 } } diff --git a/src/libstd/sys/sgx/net.rs b/src/libstd/sys/sgx/net.rs index 2ecae1d746f..f46ed022b21 100644 --- a/src/libstd/sys/sgx/net.rs +++ b/src/libstd/sys/sgx/net.rs @@ -105,7 +105,7 @@ impl TcpStream { pub fn read_vectored(&self, buf: &mut [IoVecMut<'_>]) -> io::Result<usize> { let buf = match buf.get(0) { - Some(buf) => buf.as_mut_slice(), + Some(buf) => buf, None => return Ok(0), }; self.read(buf) @@ -117,7 +117,7 @@ impl TcpStream { pub fn write_vectored(&self, buf: &[IoVec<'_>]) -> io::Result<usize> { let buf = match buf.get(0) { - Some(buf) => buf.as_slice(), + Some(buf) => buf, None => return Ok(0), }; self.read(buf) diff --git a/src/libstd/sys/unix/io.rs b/src/libstd/sys/unix/io.rs index 69b2db82ea3..65e4c6e0577 100644 --- a/src/libstd/sys/unix/io.rs +++ b/src/libstd/sys/unix/io.rs @@ -21,7 +21,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { unsafe { slice::from_raw_parts(self.vec.iov_base as *mut u8, self.vec.iov_len) } @@ -46,14 +46,14 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { unsafe { slice::from_raw_parts(self.vec.iov_base as *mut u8, self.vec.iov_len) } } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { unsafe { slice::from_raw_parts_mut(self.vec.iov_base as *mut u8, self.vec.iov_len) } diff --git a/src/libstd/sys/wasm/io.rs b/src/libstd/sys/wasm/io.rs index 9ee5788c580..8b02d3fd19d 100644 --- a/src/libstd/sys/wasm/io.rs +++ b/src/libstd/sys/wasm/io.rs @@ -7,7 +7,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } } @@ -21,12 +21,12 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { self.0 } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { self.0 } } diff --git a/src/libstd/sys/windows/io.rs b/src/libstd/sys/windows/io.rs index a14bfea9a21..662e3047923 100644 --- a/src/libstd/sys/windows/io.rs +++ b/src/libstd/sys/windows/io.rs @@ -22,7 +22,7 @@ impl<'a> IoVec<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { unsafe { slice::from_raw_parts(self.vec.buf as *mut u8, self.vec.len as usize) } @@ -48,14 +48,14 @@ impl<'a> IoVecMut<'a> { } #[inline] - pub fn as_slice(&self) -> &'a [u8] { + pub fn as_slice(&self) -> &[u8] { unsafe { slice::from_raw_parts(self.vec.buf as *mut u8, self.vec.len as usize) } } #[inline] - pub fn as_mut_slice(&mut self) -> &'a mut [u8] { + pub fn as_mut_slice(&mut self) -> &mut [u8] { unsafe { slice::from_raw_parts_mut(self.vec.buf as *mut u8, self.vec.len as usize) } |
