Struct Output

1.0.0 Β· Source
pub struct Output {
    pub status: ExitStatus,
    pub stdout: Vec<u8>,
    pub stderr: Vec<u8>,
}
Expand description

The output of a finished process.

This is returned in a Result by either the output method of a Command, or the wait_with_output method of a Child process.

FieldsΒ§

Β§status: ExitStatus

The status (exit code) of the process.

Β§stdout: Vec<u8>

The data that the process wrote to stdout.

Β§stderr: Vec<u8>

The data that the process wrote to stderr.

ImplementationsΒ§

SourceΒ§

impl Output

Source

pub fn exit_ok(self) -> Result<Self, ExitStatusError>

πŸ”¬This is a nightly-only experimental API. (exit_status_error #84908)

Returns an error if a nonzero exit status was received.

If the Command exited successfully, self is returned.

This is equivalent to calling exit_ok on Output.status.

Note that this will throw away the Output::stderr field in the error case. If the child process outputs useful informantion to stderr, you can:

  • Use cmd.stderr(Stdio::inherit()) to forward the stderr child process to the parent’s stderr, usually printing it to console where the user can see it. This is usually correct for command-line applications.
  • Capture stderr using a custom error type. This is usually correct for libraries.
Β§Examples
#![feature(exit_status_error)]
use std::process::Command;
assert!(Command::new("false").output().unwrap().exit_ok().is_err());

Trait ImplementationsΒ§

1.0.0 Β· SourceΒ§

impl Clone for Output

SourceΒ§

fn clone(&self) -> Output

Returns a duplicate of the value. Read more
1.0.0 Β· SourceΒ§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
1.7.0 Β· SourceΒ§

impl Debug for Output

SourceΒ§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
1.0.0 Β· SourceΒ§

impl PartialEq for Output

SourceΒ§

fn eq(&self, other: &Output) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 Β· SourceΒ§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
1.0.0 Β· SourceΒ§

impl Eq for Output

1.0.0 Β· SourceΒ§

impl StructuralPartialEq for Output

Auto Trait ImplementationsΒ§

Blanket ImplementationsΒ§

SourceΒ§

impl<T> Any for T
where T: 'static + ?Sized,

SourceΒ§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
SourceΒ§

impl<T> Borrow<T> for T
where T: ?Sized,

SourceΒ§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
SourceΒ§

impl<T> BorrowMut<T> for T
where T: ?Sized,

SourceΒ§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
SourceΒ§

impl<T> CloneToUninit for T
where T: Clone,

SourceΒ§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

πŸ”¬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dest. Read more
SourceΒ§

impl<T> From<T> for T

SourceΒ§

fn from(t: T) -> T

Returns the argument unchanged.

SourceΒ§

impl<T, U> Into<U> for T
where U: From<T>,

SourceΒ§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

SourceΒ§

impl<T> ToOwned for T
where T: Clone,

SourceΒ§

type Owned = T

The resulting type after obtaining ownership.
SourceΒ§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
SourceΒ§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
SourceΒ§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

SourceΒ§

type Error = Infallible

The type returned in the event of a conversion error.
SourceΒ§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
SourceΒ§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

SourceΒ§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
SourceΒ§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.