@@ -60,6 +60,7 @@ use crate::net::TcpStream;
6060use crate :: os:: unix:: fs:: FileTypeExt ;
6161use crate :: os:: unix:: io:: { AsRawFd , FromRawFd , RawFd } ;
6262use crate :: os:: unix:: net:: UnixStream ;
63+ use crate :: pipe:: { PipeReader , PipeWriter } ;
6364use crate :: process:: { ChildStderr , ChildStdin , ChildStdout } ;
6465use crate :: ptr;
6566use crate :: sync:: atomic:: { AtomicBool , AtomicU8 , Ordering } ;
@@ -405,6 +406,30 @@ impl CopyWrite for &UnixStream {
405406 }
406407}
407408
409+ impl CopyRead for PipeReader {
410+ fn properties ( & self ) -> CopyParams {
411+ CopyParams ( FdMeta :: Pipe , Some ( self . as_raw_fd ( ) ) )
412+ }
413+ }
414+
415+ impl CopyRead for & PipeReader {
416+ fn properties ( & self ) -> CopyParams {
417+ CopyParams ( FdMeta :: Pipe , Some ( self . as_raw_fd ( ) ) )
418+ }
419+ }
420+
421+ impl CopyWrite for PipeWriter {
422+ fn properties ( & self ) -> CopyParams {
423+ CopyParams ( FdMeta :: Pipe , Some ( self . as_raw_fd ( ) ) )
424+ }
425+ }
426+
427+ impl CopyWrite for & PipeWriter {
428+ fn properties ( & self ) -> CopyParams {
429+ CopyParams ( FdMeta :: Pipe , Some ( self . as_raw_fd ( ) ) )
430+ }
431+ }
432+
408433impl CopyWrite for ChildStdin {
409434 fn properties ( & self ) -> CopyParams {
410435 CopyParams ( FdMeta :: Pipe , Some ( self . as_raw_fd ( ) ) )
0 commit comments