summaryrefslogtreecommitdiffstats
path: root/buffered-reader
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-01-29 18:42:14 +0100
committerJustus Winter <justus@sequoia-pgp.org>2020-01-29 18:42:14 +0100
commite5ee74691f21f46bdc30556a6b67ecf5f9532ece (patch)
tree7219e4926d8037da432d4d6027bd5a713f5e4989 /buffered-reader
parent18fa4d0be6285f68b9a163c52bd65955fb3a795b (diff)
buffered-reader: Use the new as_boxed method.
- This cleanly avoids creating a linked list of references on the stack that grows every time we call into_inner.
Diffstat (limited to 'buffered-reader')
-rw-r--r--buffered-reader/src/decompress_bzip2.rs2
-rw-r--r--buffered-reader/src/decompress_deflate.rs4
-rw-r--r--buffered-reader/src/dup.rs2
-rw-r--r--buffered-reader/src/limitor.rs2
-rw-r--r--buffered-reader/src/reserve.rs2
5 files changed, 6 insertions, 6 deletions
diff --git a/buffered-reader/src/decompress_bzip2.rs b/buffered-reader/src/decompress_bzip2.rs
index dff2a202..96cf13b0 100644
--- a/buffered-reader/src/decompress_bzip2.rs
+++ b/buffered-reader/src/decompress_bzip2.rs
@@ -111,7 +111,7 @@ impl<R: BufferedReader<C>, C> BufferedReader<C> for Bzip<R, C> {
fn into_inner<'b>(self: Box<Self>)
-> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b {
// Strip the outer box.
- Some(Box::new(self.reader.reader.into_inner()))
+ Some(self.reader.reader.into_inner().as_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 f31322ac..a54d018c 100644
--- a/buffered-reader/src/decompress_deflate.rs
+++ b/buffered-reader/src/decompress_deflate.rs
@@ -112,7 +112,7 @@ impl<R: BufferedReader<C>, C> BufferedReader<C>
fn into_inner<'b>(self: Box<Self>)
-> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b {
// Strip the outer box.
- Some(Box::new(self.reader.reader.into_inner()))
+ Some(self.reader.reader.into_inner().as_boxed())
}
fn cookie_set(&mut self, cookie: C) -> C {
@@ -234,7 +234,7 @@ impl<R: BufferedReader<C>, C> BufferedReader<C>
fn into_inner<'b>(self: Box<Self>)
-> Option<Box<dyn BufferedReader<C> + 'b>> where Self: 'b {
// Strip the outer box.
- Some(Box::new(self.reader.reader.into_inner()))
+ Some(self.reader.reader.into_inner().as_boxed())
}
fn cookie_set(&mut self, cookie: C) -> C {
diff --git a/buffered-reader/src/dup.rs b/buffered-reader/src/dup.rs
index e95971e5..7870050b 100644
--- a/buffered-reader/src/dup.rs
+++ b/buffered-reader/src/dup.rs
@@ -131,7 +131,7 @@ impl<T: BufferedReader<C>, C> BufferedReader<C> for Dup<T, C> {
fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>>
where Self: 'b {
- Some(Box::new(self.reader))
+ Some(self.reader.as_boxed())
}
fn cookie_set(&mut self, cookie: C) -> C {
diff --git a/buffered-reader/src/limitor.rs b/buffered-reader/src/limitor.rs
index 59813c82..65478194 100644
--- a/buffered-reader/src/limitor.rs
+++ b/buffered-reader/src/limitor.rs
@@ -134,7 +134,7 @@ impl<T: BufferedReader<C>, C> BufferedReader<C> for Limitor<T, C> {
fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>>
where Self: 'b {
- Some(Box::new(self.reader))
+ Some(self.reader.as_boxed())
}
fn cookie_set(&mut self, cookie: C) -> C {
diff --git a/buffered-reader/src/reserve.rs b/buffered-reader/src/reserve.rs
index d9b6f9cc..4c2ec047 100644
--- a/buffered-reader/src/reserve.rs
+++ b/buffered-reader/src/reserve.rs
@@ -135,7 +135,7 @@ impl<T: BufferedReader<C>, C> BufferedReader<C> for Reserve<T, C> {
fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>>
where Self: 'b {
- Some(Box::new(self.reader))
+ Some(self.reader.as_boxed())
}
fn cookie_set(&mut self, cookie: C) -> C {