diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-12-14 12:47:27 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-12-14 12:47:27 +0100 |
commit | 55c668a4028bb703a25d652b36ed9382c8c36991 (patch) | |
tree | 2db7cc5b715395ce7086bb617d963c0a053eb40f | |
parent | 89b94444d9286f907eb6a62fd11551988bffd39b (diff) |
buffered-reader: Change BufferedReader::dump to take a sink.
-rw-r--r-- | buffered-reader/src/lib.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs index f146741d..4e049a8e 100644 --- a/buffered-reader/src/lib.rs +++ b/buffered-reader/src/lib.rs @@ -822,21 +822,22 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug + fmt::Display + Send + Sync /// A helpful debugging aid to pretty print a Buffered Reader stack. /// /// Uses the Buffered Readers' `fmt::Display` implementations. - fn dump(&self) where Self: std::marker::Sized { + fn dump(&self, sink: &mut dyn std::io::Write) -> std::io::Result<()> + where Self: std::marker::Sized + { let mut i = 1; let mut reader: Option<&dyn BufferedReader<C>> = Some(self); while let Some(r) = reader { { let cookie = r.cookie_ref(); - eprintln!(" {}. {}, {:?}", i, r, cookie); + writeln!(sink, " {}. {}, {:?}", i, r, cookie)?; } reader = r.get_ref(); i = i + 1; } + Ok(()) } - - /// Boxes the reader. fn as_boxed<'a>(self) -> Box<dyn BufferedReader<C> + 'a> where Self: 'a + Sized |