pub fn stdout() -> Stdout {
    static INSTANCE: Lazy<Mutex<LineWriter<StdoutRaw>>> = lazy_init!(stdout_init);
    return Stdout {
        inner: INSTANCE.get().expect("cannot access stdout during shutdown"),
    };

    fn stdout_init() -> Arc<Mutex<LineWriter<StdoutRaw>>> {
        Arc::new(Mutex::new(LineWriter::new(stdout_raw())))
    }
}
/// Constructs a new reference to the standard output of the current process.
///
/// Each handle returned is a reference to a shared global buffer whose access
/// is synchronized via a mutex. Explicit control over synchronization is
/// provided via the `lock` method.
///
/// The returned handle implements the `Write` trait.
///
/// To avoid locking and buffering altogether, it is recommended to use the
/// `stdout_raw` constructor.
Constructs a new reference to the standard output of the current process.
Each handle returned is a reference to a shared global buffer whose access
is synchronized via a mutex. Explicit control over synchronization is
provided via the `lock` method.

The returned handle implements the `Write` trait.

To avoid locking and buffering altogether, it is recommended to use the
`stdout_raw` constructor.
Constructs a new reference to the standard output of the current process . Each handle returned is a reference to a shared global buffer whose access is synchronized via a mutex . Explicit control over synchronization is provided via the ` lock ` method . The returned handle implements the ` Write ` trait . To avoid locking and buffering altogether it is recommended to use the ` stdout_raw ` constructor .
pub fn stdout() -> Stdout {
    static INSTANCE: Lazy<Mutex<LineWriter<StdoutRaw>>> = lazy_init!(stdout_init);
    return Stdout {
        inner: INSTANCE.get().expect("cannot access stdout during shutdown"),
    };
    fn stdout_init() -> Arc<Mutex<LineWriter<StdoutRaw>>> {
        Arc::new(Mutex::new(LineWriter::new(stdout_raw())))
    }
}
pub fn stdout ( ) -> Stdout { static INSTANCE : Lazy < Mutex < LineWriter < StdoutRaw > > > = lazy_init ! ( stdout_init ) ; return Stdout { inner : INSTANCE . get ( ) . expect ( " " ) , } ; fn stdout_init ( ) -> Arc < Mutex < LineWriter < StdoutRaw > > > { Arc :: new ( Mutex :: new ( LineWriter :: new ( stdout_raw ( ) ) ) ) } }
Constructs a new reference to the standard output of the current process.
Constructs a new reference to the standard output of the current process .