Skip to content

Commit

Permalink
Rollup merge of #83560 - m-ou-se:io-chain-debug, r=sfackler
Browse files Browse the repository at this point in the history
Derive Debug for io::Chain instead of manually implementing it.

This derives Debug for io::Chain instead of manually implementing it.

The manual implementation has the same bounds, so I don't think there's any reason for a manual implementation. The names used in the derive implementation are even nicer (`first`/`second`) than the manual implementation (`t`/`u`), and include the `done_first` field too.
  • Loading branch information
JohnTitor authored Mar 27, 2021
2 parents 5dc29e1 + 7c01e6c commit 8ad5f21
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions library/std/src/io/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2114,6 +2114,7 @@ pub trait BufRead: Read {
///
/// [`chain`]: Read::chain
#[stable(feature = "rust1", since = "1.0.0")]
#[derive(Debug)]
pub struct Chain<T, U> {
first: T,
second: U,
Expand Down Expand Up @@ -2195,13 +2196,6 @@ impl<T, U> Chain<T, U> {
}
}

#[stable(feature = "std_debug", since = "1.16.0")]
impl<T: fmt::Debug, U: fmt::Debug> fmt::Debug for Chain<T, U> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("Chain").field("t", &self.first).field("u", &self.second).finish()
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T: Read, U: Read> Read for Chain<T, U> {
fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
Expand Down

0 comments on commit 8ad5f21

Please sign in to comment.