diff --git a/src/std/creation_flags.rs b/src/std/creation_flags.rs index 8647ee2..ec149b5 100644 --- a/src/std/creation_flags.rs +++ b/src/std/creation_flags.rs @@ -11,7 +11,7 @@ use super::{StdCommandWrap, StdCommandWrapper}; /// It exists to be able to set creation flags on a `Command` and also store them in the wrapper, so /// that they're no overwritten by other wrappers. Notably this is the only way to use creation /// flags and the `JobObject` wrapper together. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct CreationFlags(pub PROCESS_CREATION_FLAGS); impl StdCommandWrapper for CreationFlags { diff --git a/src/std/job_object.rs b/src/std/job_object.rs index 3b4164f..ad84754 100644 --- a/src/std/job_object.rs +++ b/src/std/job_object.rs @@ -29,7 +29,7 @@ use super::{StdChildWrapper, StdCommandWrap, StdCommandWrapper}; /// See [Job Objects](https://docs.microsoft.com/en-us/windows/win32/procthread/job-objects). /// /// This wrapper provides a child wrapper: [`JobObjectChild`]. -#[derive(Debug)] +#[derive(Clone, Copy, Debug)] pub struct JobObject; impl StdCommandWrapper for JobObject { diff --git a/src/std/process_group.rs b/src/std/process_group.rs index 1d0656a..b055044 100644 --- a/src/std/process_group.rs +++ b/src/std/process_group.rs @@ -31,7 +31,7 @@ use super::{StdChildWrapper, StdCommandWrap, StdCommandWrapper}; /// placement in foreground or background, among other actions. /// /// This wrapper provides a child wrapper: [`ProcessGroupChild`]. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct ProcessGroup { leader: Pid, } diff --git a/src/std/process_session.rs b/src/std/process_session.rs index a6dc1cc..8b48157 100644 --- a/src/std/process_session.rs +++ b/src/std/process_session.rs @@ -21,7 +21,7 @@ use super::{StdCommandWrap, StdCommandWrapper}; /// /// This wrapper uses [the same child wrapper as `ProcessGroup`](super::ProcessGroupChild) and does /// the same setup (plus the session setup); using both together is unnecessary and may misbehave. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct ProcessSession; impl StdCommandWrapper for ProcessSession { diff --git a/src/tokio/creation_flags.rs b/src/tokio/creation_flags.rs index e62ff08..c118e56 100644 --- a/src/tokio/creation_flags.rs +++ b/src/tokio/creation_flags.rs @@ -12,7 +12,7 @@ use super::{TokioCommandWrap, TokioCommandWrapper}; /// It exists to be able to set creation flags on a `Command` and also store them in the wrapper, so /// that they're no overwritten by other wrappers. Notably this is the only way to use creation /// flags and the `JobObject` wrapper together. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct CreationFlags(pub PROCESS_CREATION_FLAGS); impl TokioCommandWrapper for CreationFlags { diff --git a/src/tokio/job_object.rs b/src/tokio/job_object.rs index b697baa..8023510 100644 --- a/src/tokio/job_object.rs +++ b/src/tokio/job_object.rs @@ -30,7 +30,7 @@ use super::{TokioChildWrapper, TokioCommandWrap, TokioCommandWrapper}; /// See [Job Objects](https://docs.microsoft.com/en-us/windows/win32/procthread/job-objects). /// /// This wrapper provides a child wrapper: [`JobObjectChild`]. -#[derive(Debug)] +#[derive(Clone, Copy, Debug)] pub struct JobObject; impl TokioCommandWrapper for JobObject { diff --git a/src/tokio/kill_on_drop.rs b/src/tokio/kill_on_drop.rs index 547dca2..84bc677 100644 --- a/src/tokio/kill_on_drop.rs +++ b/src/tokio/kill_on_drop.rs @@ -9,7 +9,7 @@ use super::{TokioCommandWrap, TokioCommandWrapper}; /// This wrapper exists to be able to set the kill-on-drop flag on a `Command` and also store that /// fact in the wrapper, so that it can be used by other wrappers. Notably this is used by the /// `JobObject` wrapper. -#[derive(Debug)] +#[derive(Clone, Copy, Debug)] pub struct KillOnDrop; impl TokioCommandWrapper for KillOnDrop { diff --git a/src/tokio/process_group.rs b/src/tokio/process_group.rs index 7a8f93f..deb29ae 100644 --- a/src/tokio/process_group.rs +++ b/src/tokio/process_group.rs @@ -36,7 +36,7 @@ use super::{TokioChildWrapper, TokioCommandWrap, TokioCommandWrapper}; /// placement in foreground or background, among other actions. /// /// This wrapper provides a child wrapper: [`ProcessGroupChild`]. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct ProcessGroup { leader: Pid, } diff --git a/src/tokio/process_session.rs b/src/tokio/process_session.rs index ca2c9c5..e0995a9 100644 --- a/src/tokio/process_session.rs +++ b/src/tokio/process_session.rs @@ -18,7 +18,7 @@ use super::{TokioCommandWrap, TokioCommandWrapper}; /// /// This wrapper uses [the same child wrapper as `ProcessGroup`](super::ProcessGroupChild) and does /// the same setup (plus the session setup); using both together is unnecessary and may misbehave. -#[derive(Debug, Clone)] +#[derive(Clone, Copy, Debug)] pub struct ProcessSession; impl TokioCommandWrapper for ProcessSession {