Struct rand::Error[][src]

pub struct Error { /* fields omitted */ }

Error type of random number generators

In order to be compatible with std and no_std, this type has two possible implementations: with std a boxed Error trait object is stored, while with no_std we merely store an error code.

Implementations

impl Error[src]

pub const CUSTOM_START: u32[src]

Codes at or above this point can be used by users to define their own custom errors.

This has a fixed value of (1 << 31) + (1 << 30) = 0xC000_0000, therefore the number of values available for custom codes is 1 << 30.

This is identical to getrandom::Error::CUSTOM_START.

pub const INTERNAL_START: u32[src]

Codes below this point represent OS Errors (i.e. positive i32 values). Codes at or above this point, but below Error::CUSTOM_START are reserved for use by the rand and getrandom crates.

This is identical to getrandom::Error::INTERNAL_START.

pub fn new<E>(err: E) -> Error where
    E: Into<Box<dyn Error + 'static + Sync + Send, Global>>, 
[src]

Construct from any type supporting std::error::Error

Available only when configured with std.

See also From<NonZeroU32>, which is available with and without std.

pub fn inner(&self) -> &(dyn Error + 'static + Sync + Send)[src]

Reference the inner error (std only)

When configured with std, this is a trivial operation and never panics. Without std, this method is simply unavailable.

pub fn take_inner(self) -> Box<dyn Error + 'static + Sync + Send, Global>[src]

Unwrap the inner error (std only)

When configured with std, this is a trivial operation and never panics. Without std, this method is simply unavailable.

pub fn raw_os_error(&self) -> Option<i32>[src]

Extract the raw OS error code (if this error came from the OS)

This method is identical to std::io::Error::raw_os_error(), except that it works in no_std contexts. If this method returns None, the error value can still be formatted via the Diplay implementation.

pub fn code(&self) -> Option<NonZeroU32>[src]

Retrieve the error code, if any.

If this Error was constructed via From<NonZeroU32>, then this method will return this NonZeroU32 code (for no_std this is always the case). Otherwise, this method will return None.

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl From<NonZeroU32> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]