From 9de32a7a3b7928b3679118cf423fd69246de8784 Mon Sep 17 00:00:00 2001 From: Vincent Thiberville Date: Thu, 9 Mar 2023 10:46:38 +0100 Subject: [PATCH] add doc on From impl for ChildStd* --- library/std/src/os/unix/process.rs | 12 ++++++++++++ library/std/src/os/windows/process.rs | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/library/std/src/os/unix/process.rs b/library/std/src/os/unix/process.rs index 5c1841016f41f..95f10bcb04e3f 100644 --- a/library/std/src/os/unix/process.rs +++ b/library/std/src/os/unix/process.rs @@ -434,6 +434,10 @@ impl From for OwnedFd { } } +/// Create a `ChildStdin` from the provided `OwnedFd`. +/// +/// The provided file descriptor must point to a pipe +/// with the `CLOEXEC` flag set. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStdin { #[inline] @@ -460,6 +464,10 @@ impl From for OwnedFd { } } +/// Create a `ChildStdout` from the provided `OwnedFd`. +/// +/// The provided file descriptor must point to a pipe +/// with the `CLOEXEC` flag set. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStdout { #[inline] @@ -486,6 +494,10 @@ impl From for OwnedFd { } } +/// Create a `ChildStderr` from the provided `OwnedFd`. +/// +/// The provided file descriptor must point to a pipe +/// with the `CLOEXEC` flag set. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStderr { #[inline] diff --git a/library/std/src/os/windows/process.rs b/library/std/src/os/windows/process.rs index 719b804ac199b..2f989a77f14ec 100644 --- a/library/std/src/os/windows/process.rs +++ b/library/std/src/os/windows/process.rs @@ -106,6 +106,10 @@ impl IntoRawHandle for process::ChildStderr { } } +/// Create a `ChildStdin` from the provided `OwnedHandle`. +/// +/// The provided handle must be asynchronous, as reading and +/// writing from and to it is implemented using asynchronous APIs. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStdin { fn from(handle: OwnedHandle) -> process::ChildStdin { @@ -115,6 +119,10 @@ impl From for process::ChildStdin { } } +/// Create a `ChildStdout` from the provided `OwnedHandle`. +/// +/// The provided handle must be asynchronous, as reading and +/// writing from and to it is implemented using asynchronous APIs. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStdout { fn from(handle: OwnedHandle) -> process::ChildStdout { @@ -124,6 +132,10 @@ impl From for process::ChildStdout { } } +/// Create a `ChildStderr` from the provided `OwnedHandle`. +/// +/// The provided handle must be asynchronous, as reading and +/// writing from and to it is implemented using asynchronous APIs. #[stable(feature = "io_safety", since = "1.63.0")] impl From for process::ChildStderr { fn from(handle: OwnedHandle) -> process::ChildStderr {