pub struct Stderr { /* private fields */ }
Expand description
A handle to the standard error stream of a process.
For more information, see the io::stderr
method.
Note: Windows Portability Considerations
When operating in a console, the Windows implementation of this stream does not support non-UTF-8 byte sequences. Attempting to write bytes that are not valid UTF-8 will return an error.
In a process with a detached console, such as one using
#![windows_subsystem = "windows"]
, or in a child process spawned from such a process,
the contained handle will be null. In such cases, the standard library’s Read
and
Write
will do nothing and silently succeed. All other I/O operations, via the
standard library or via raw Windows API calls, will fail.
Implementations
sourceimpl Stderr
impl Stderr
sourcepub fn lock(&self) -> StderrLock<'static>ⓘNotable traits for StderrLock<'_>impl Write for StderrLock<'_>
pub fn lock(&self) -> StderrLock<'static>ⓘNotable traits for StderrLock<'_>impl Write for StderrLock<'_>
Locks this handle to the standard error stream, returning a writable guard.
The lock is released when the returned lock goes out of scope. The
returned guard also implements the Write
trait for writing data.
Examples
use std::io::{self, Write};
fn foo() -> io::Result<()> {
let stderr = io::stderr();
let mut handle = stderr.lock();
handle.write_all(b"hello world")?;
Ok(())
}
RunTrait Implementations
1.63.0 · sourceimpl AsFd for Stderr
impl AsFd for Stderr
sourcefn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
1.63.0 · sourceimpl AsHandle for Stderr
Available on Windows only.
impl AsHandle for Stderr
sourcefn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
Borrows the handle. Read more
1.21.0 · sourceimpl AsRawHandle for Stderr
Available on Windows only.
impl AsRawHandle for Stderr
sourcefn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
Extracts the raw handle. Read more
1.48.0 · sourceimpl Write for &Stderr
impl Write for &Stderr
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
#69941)Determines if this Write
r has an efficient write_vectored
implementation. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored
#70436)Attempts to write multiple buffers into this writer. Read more
sourceimpl Write for Stderr
impl Write for Stderr
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
#69941)Determines if this Write
r has an efficient write_vectored
implementation. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored
#70436)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Stderr
impl Send for Stderr
impl Sync for Stderr
impl Unpin for Stderr
impl UnwindSafe for Stderr
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more