pub fn init() -> self::error::Result<()> {
    let mut lock = INIT_STATUS.lock().unwrap();
    if *lock {
        return Ok(());
    }

    init_sodiumoxide()?;

    *lock = true;
    Ok(())
}
/// This function must be called before calling any other library code, or else
/// undefined behavior (thread safety problems in particular) may result. This
/// is due to underlying C library dependencies.
This function must be called before calling any other library code, or else
undefined behavior (thread safety problems in particular) may result. This
is due to underlying C library dependencies.
This function must be called before calling any other library code or else undefined behavior ( thread safety problems in particular ) may result . This is due to underlying C library dependencies .
pub fn init() -> self::error::Result<()> {
    let mut lock = INIT_STATUS.lock().unwrap();
    if *lock {
        return Ok(());
    }
    init_sodiumoxide()?;
    *lock = true;
    Ok(())
}
pub fn init ( ) -> self :: error :: Result < ( ) > { let mut lock = INIT_STATUS . lock ( ) . unwrap ( ) ; if * lock { return Ok ( ( ) ) ; } init_sodiumoxide ( ) ? ; * lock = true ; Ok ( ( ) ) }
This function must be called before calling any other library code, or else
undefined behavior (thread safety problems in particular) may result.
This function must be called before calling any other library code or else undefined behavior ( thread safety problems in particular ) may result .