about summary refs log tree commit diff
path: root/src/libstd/sys
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2019-02-11 19:31:37 -0800
committerSteven Fackler <sfackler@gmail.com>2019-02-13 19:40:17 -0800
commit596f18201c7863d8b02fe6fa1872cf3ba2b6b381 (patch)
tree1b152d89591c590eb92bf1b18591836e88ccf347 /src/libstd/sys
parent31bcec648aa57391115f877a2ca022d7ff6415aa (diff)
downloadrust-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.rs6
-rw-r--r--src/libstd/sys/redox/io.rs6
-rw-r--r--src/libstd/sys/redox/net/tcp.rs4
-rw-r--r--src/libstd/sys/sgx/io.rs6
-rw-r--r--src/libstd/sys/sgx/net.rs4
-rw-r--r--src/libstd/sys/unix/io.rs6
-rw-r--r--src/libstd/sys/wasm/io.rs6
-rw-r--r--src/libstd/sys/windows/io.rs6
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)
         }