diff options
| author | kennytm <kennytm@gmail.com> | 2019-02-20 01:13:39 +0800 |
|---|---|---|
| committer | kennytm <kennytm@gmail.com> | 2019-02-20 11:59:10 +0800 |
| commit | e3a8f7db479ce6562bfc312f412b65dc4f3c77d5 (patch) | |
| tree | 9312a71b7625ef7e88c687e49cdece9451519b2b /src/libstd/io/impls.rs | |
| parent | ef0aaddf691030874e147ca5ee79332fec0c9566 (diff) | |
| parent | 3bea2ca49d24606920b3a81811379debc0668992 (diff) | |
| download | rust-e3a8f7db479ce6562bfc312f412b65dc4f3c77d5.tar.gz rust-e3a8f7db479ce6562bfc312f412b65dc4f3c77d5.zip | |
Rollup merge of #58553 - scottmcm:more-ihle, r=Centril
Use more impl header lifetime elision Inspired by seeing explicit lifetimes on these two: - https://doc.rust-lang.org/nightly/std/slice/struct.Iter.html#impl-FusedIterator - https://doc.rust-lang.org/nightly/std/primitive.u32.html#impl-Not And a follow-up to https://github.com/rust-lang/rust/pull/54687, that started using IHLE in libcore. Most of the changes in here fall into two big categories: - Removing lifetimes from common traits that can essentially never user a lifetime from an input (particularly `Drop`, `Debug`, and `Clone`) - Forwarding impls that are only possible because the lifetime doesn't matter (like `impl<R: Read + ?Sized> Read for &mut R`) I omitted things that seemed like they could be more controversial, like the handful of iterators that have a `Item: 'static` despite the iterator having a lifetime or the `PartialEq` implementations [where the flipped one cannot elide the lifetime](https://internals.rust-lang.org/t/impl-type-parameter-aliases/9403/2?u=scottmcm). I also removed two lifetimes that turned out to be completely unused; see https://github.com/rust-lang/rust/issues/41960#issuecomment-464557423
Diffstat (limited to 'src/libstd/io/impls.rs')
| -rw-r--r-- | src/libstd/io/impls.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libstd/io/impls.rs b/src/libstd/io/impls.rs index ec75a87aec3..2577b284714 100644 --- a/src/libstd/io/impls.rs +++ b/src/libstd/io/impls.rs @@ -7,7 +7,7 @@ use mem; // Forwarding implementations #[stable(feature = "rust1", since = "1.0.0")] -impl<'a, R: Read + ?Sized> Read for &'a mut R { +impl<R: Read + ?Sized> Read for &mut R { #[inline] fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { (**self).read(buf) @@ -34,7 +34,7 @@ impl<'a, R: Read + ?Sized> Read for &'a mut R { } } #[stable(feature = "rust1", since = "1.0.0")] -impl<'a, W: Write + ?Sized> Write for &'a mut W { +impl<W: Write + ?Sized> Write for &mut W { #[inline] fn write(&mut self, buf: &[u8]) -> io::Result<usize> { (**self).write(buf) } @@ -52,12 +52,12 @@ impl<'a, W: Write + ?Sized> Write for &'a mut W { } } #[stable(feature = "rust1", since = "1.0.0")] -impl<'a, S: Seek + ?Sized> Seek for &'a mut S { +impl<S: Seek + ?Sized> Seek for &mut S { #[inline] fn seek(&mut self, pos: SeekFrom) -> io::Result<u64> { (**self).seek(pos) } } #[stable(feature = "rust1", since = "1.0.0")] -impl<'a, B: BufRead + ?Sized> BufRead for &'a mut B { +impl<B: BufRead + ?Sized> BufRead for &mut B { #[inline] fn fill_buf(&mut self) -> io::Result<&[u8]> { (**self).fill_buf() } @@ -152,7 +152,7 @@ impl<B: BufRead + ?Sized> BufRead for Box<B> { /// Note that reading updates the slice to point to the yet unread part. /// The slice will be empty when EOF is reached. #[stable(feature = "rust1", since = "1.0.0")] -impl<'a> Read for &'a [u8] { +impl Read for &[u8] { #[inline] fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { let amt = cmp::min(buf.len(), self.len()); @@ -207,7 +207,7 @@ impl<'a> Read for &'a [u8] { } #[stable(feature = "rust1", since = "1.0.0")] -impl<'a> BufRead for &'a [u8] { +impl BufRead for &[u8] { #[inline] fn fill_buf(&mut self) -> io::Result<&[u8]> { Ok(*self) } @@ -221,7 +221,7 @@ impl<'a> BufRead for &'a [u8] { /// Note that writing updates the slice to point to the yet unwritten part. /// The slice will be empty when it has been completely overwritten. #[stable(feature = "rust1", since = "1.0.0")] -impl<'a> Write for &'a mut [u8] { +impl Write for &mut [u8] { #[inline] fn write(&mut self, data: &[u8]) -> io::Result<usize> { let amt = cmp::min(data.len(), self.len()); |
