Function std::io::stdio::print_to

source ·
fn print_to<T>(args: Arguments<'_>, global_s: fn() -> T, label: &str)where
    T: Write,
Expand description

Write args to the capture buffer if enabled and possible, or global_s otherwise. label identifies the stream in a panic message.

This function is used to print error messages, so it takes extra care to avoid causing a panic when OUTPUT_CAPTURE is unusable. For instance, if the TLS key for output capturing is already destroyed, or if the local stream is in use by another thread, it will just fall back to the global stream.

However, if the actual I/O causes an error, this function does panic.

Writing to non-blocking stdout/stderr can cause an error, which will lead this function to panic.