Skip to content

Commit 35e0463

Browse files
committed
impl Clone when Reader and Writer are clone
1 parent 76e71cb commit 35e0463

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/lib.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,7 @@ pin_project_lite::pin_project! {
5353
impl<R, W> Duplex<R, W> {
5454
/// Create a new instance.
5555
pub fn new(reader: R, writer: W) -> Self {
56-
Self {
57-
reader: reader,
58-
writer: writer,
59-
}
56+
Self { reader, writer }
6057
}
6158

6259
/// Decomposes a duplex into its components.
@@ -107,3 +104,16 @@ impl<R: BufRead, W> BufRead for Duplex<R, W> {
107104
this.reader.consume(amt)
108105
}
109106
}
107+
108+
impl<R, W> Clone for Duplex<R, W>
109+
where
110+
R: Clone,
111+
W: Clone,
112+
{
113+
fn clone(&self) -> Self {
114+
Self {
115+
reader: self.reader.clone(),
116+
writer: self.writer.clone(),
117+
}
118+
}
119+
}

0 commit comments

Comments
 (0)