Skip to content

Commit 873db4e

Browse files
authored
Merge pull request #3 from jbr/impl-clone-when-reader-and-writer-are-clone
impl Clone when Reader and Writer are clone
2 parents 76e71cb + d97d4b3 commit 873db4e

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

examples/stdio.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use async_std::io::{self, BufReader, prelude::*};
2-
use duplexify::Duplex;
1+
use async_std::io::{self, prelude::*, BufReader};
32
use async_std::task;
3+
use duplexify::Duplex;
44

55
fn main() -> std::io::Result<()> {
66
task::block_on(async {

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)