summaryrefslogtreecommitdiffstats
path: root/buffered-reader/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'buffered-reader/src/lib.rs')
-rw-r--r--buffered-reader/src/lib.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs
index f226198e..4661b959 100644
--- a/buffered-reader/src/lib.rs
+++ b/buffered-reader/src/lib.rs
@@ -818,6 +818,13 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug + fmt::Display {
Ok(at_least_one_byte)
}
+ /// Boxes the reader.
+ fn as_boxed<'a>(self) -> Box<dyn BufferedReader<C> + 'a>
+ where Self: 'a + Sized
+ {
+ Box::new(self)
+ }
+
/// Returns the underlying reader, if any.
///
/// To allow this to work with `BufferedReader` traits, it is
@@ -963,6 +970,12 @@ impl <'a, C> BufferedReader<C> for Box<dyn BufferedReader<C> + 'a> {
self.as_ref().get_ref()
}
+ fn as_boxed<'b>(self) -> Box<dyn BufferedReader<C> + 'b>
+ where Self: 'b
+ {
+ self
+ }
+
fn into_inner<'b>(self: Box<Self>) -> Option<Box<dyn BufferedReader<C> + 'b>>
where Self: 'b {
// Strip the outer box.