Rollup merge of #128303 - NobodyXu:specialise-for-pipe, r=cuviper · model-checking/verify-rust-std@0ee09fe (original) (raw)

Original file line number Diff line number Diff line change
@@ -60,6 +60,7 @@ use crate:🥅:TcpStream;
60 60 use crate::os::unix::fs::FileTypeExt;
61 61 use crate::os::unix::io::{AsRawFd, FromRawFd, RawFd};
62 62 use crate::os::unix:🥅:UnixStream;
63 +use crate::pipe::{PipeReader, PipeWriter};
63 64 use crate::process::{ChildStderr, ChildStdin, ChildStdout};
64 65 use crate::ptr;
65 66 use crate::sync::atomic::{AtomicBool, AtomicU8, Ordering};
@@ -405,6 +406,30 @@ impl CopyWrite for &UnixStream {
405 406 }
406 407 }
407 408
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 +
408 433 impl CopyWrite for ChildStdin {
409 434 fn properties(&self) -> CopyParams {
410 435 CopyParams(FdMeta::Pipe, Some(self.as_raw_fd()))