pub struct Error { /* private fields */ }
Expand description
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§
Source§impl Error
impl Error
Sourcepub const CUSTOM_START: u32 = 3_221_225_472u32
pub const CUSTOM_START: u32 = 3_221_225_472u32
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
.
Sourcepub const INTERNAL_START: u32 = 2_147_483_648u32
pub const INTERNAL_START: u32 = 2_147_483_648u32
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
.
Sourcepub fn new<E>(err: E) -> Error
pub fn new<E>(err: E) -> Error
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
.
Sourcepub fn inner(&self) -> &(dyn Error + Send + Sync + 'static)
pub fn inner(&self) -> &(dyn Error + Send + Sync + 'static)
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.
Sourcepub fn take_inner(self) -> Box<dyn Error + Send + Sync>
pub fn take_inner(self) -> Box<dyn Error + Send + Sync>
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.
Sourcepub fn raw_os_error(&self) -> Option<i32>
pub fn raw_os_error(&self) -> Option<i32>
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 Display
implementation.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes