From f5f9b14a304321816526c30ce98edbd6535df9c4 Mon Sep 17 00:00:00 2001 From: Wiktor Kwapisiewicz Date: Tue, 30 May 2023 12:03:15 +0200 Subject: buffered_reader: Introduce `into_boxed` and deprecate `as_boxed`. - According to the Rust API Guidelines, a conversion function taking self should be called `into_*` if the self is not Copy, so this function should be named `into_boxed`. - Deprecate old function not to break the API. - Update all references in the code. - Fixes https://gitlab.com/sequoia-pgp/sequoia/-/issues/781 --- buffered-reader/src/decompress_bzip2.rs | 2 +- buffered-reader/src/decompress_deflate.rs | 4 ++-- buffered-reader/src/dup.rs | 2 +- buffered-reader/src/lib.rs | 16 +++++++++++++++- buffered-reader/src/limitor.rs | 2 +- buffered-reader/src/reserve.rs | 2 +- 6 files changed, 21 insertions(+), 7 deletions(-) (limited to 'buffered-reader/src') diff --git a/buffered-reader/src/decompress_bzip2.rs b/buffered-reader/src/decompress_bzip2.rs index d292390f..8f05cc43 100644 --- a/buffered-reader/src/decompress_bzip2.rs +++ b/buffered-reader/src/decompress_bzip2.rs @@ -108,7 +108,7 @@ impl, C: fmt::Debug + Send + Sync> BufferedReader for Bz fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.into_reader().into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { diff --git a/buffered-reader/src/decompress_deflate.rs b/buffered-reader/src/decompress_deflate.rs index 790a5541..4036aa5e 100644 --- a/buffered-reader/src/decompress_deflate.rs +++ b/buffered-reader/src/decompress_deflate.rs @@ -109,7 +109,7 @@ impl, C: fmt::Debug + Send + Sync> BufferedReader fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.into_reader().into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { @@ -235,7 +235,7 @@ impl, C: fmt::Debug + Send + Sync> BufferedReader fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { // Strip the outer box. - Some(self.reader.into_reader().into_inner().as_boxed()) + Some(self.reader.into_reader().into_inner().into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { diff --git a/buffered-reader/src/dup.rs b/buffered-reader/src/dup.rs index 5ad7dd48..458c6ba8 100644 --- a/buffered-reader/src/dup.rs +++ b/buffered-reader/src/dup.rs @@ -128,7 +128,7 @@ impl, C: fmt::Debug + Send + Sync> BufferedReader for Du fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { - Some(self.reader.as_boxed()) + Some(self.reader.into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs index a130ca7c..d52b3e0e 100644 --- a/buffered-reader/src/lib.rs +++ b/buffered-reader/src/lib.rs @@ -914,12 +914,20 @@ pub trait BufferedReader : io::Read + fmt::Debug + fmt::Display + Send + Sync Ok(()) } + /// Boxes the reader. + fn into_boxed<'a>(self) -> Box + 'a> + where Self: 'a + Sized + { + Box::new(self) + } + /// Boxes the reader. #[allow(clippy::wrong_self_convention)] + #[deprecated(note = "Use into_boxed")] fn as_boxed<'a>(self) -> Box + 'a> where Self: 'a + Sized { - Box::new(self) + self.into_boxed() } /// Returns the underlying reader, if any. @@ -1066,6 +1074,12 @@ impl <'a, C: fmt::Debug + Sync + Send> BufferedReader for Box(self) -> Box + 'b> + where Self: 'b + { + self + } + fn as_boxed<'b>(self) -> Box + 'b> where Self: 'b { diff --git a/buffered-reader/src/limitor.rs b/buffered-reader/src/limitor.rs index ebf8d6b7..51e5c0d3 100644 --- a/buffered-reader/src/limitor.rs +++ b/buffered-reader/src/limitor.rs @@ -131,7 +131,7 @@ impl, C: fmt::Debug + Sync + Send> BufferedReader for Li fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { - Some(self.reader.as_boxed()) + Some(self.reader.into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { diff --git a/buffered-reader/src/reserve.rs b/buffered-reader/src/reserve.rs index 937abbae..d5ad84a1 100644 --- a/buffered-reader/src/reserve.rs +++ b/buffered-reader/src/reserve.rs @@ -132,7 +132,7 @@ impl, C: fmt::Debug + Send + Sync> BufferedReader for Re fn into_inner<'b>(self: Box) -> Option + 'b>> where Self: 'b { - Some(self.reader.as_boxed()) + Some(self.reader.into_boxed()) } fn cookie_set(&mut self, cookie: C) -> C { -- cgit v1.2.3