#[doc(hidden)]#[repr(align(4))]pub struct Custom {
kind: ErrorKind,
error: NonNull<dyn Error + Send + Sync>,
error_drop: unsafe fn(*mut dyn Error + Send + Sync),
outer_drop: unsafe fn(*mut Self),
}🔬This is a nightly-only experimental API. (
core_io_internals)Fields§
§kind: ErrorKind🔬This is a nightly-only experimental API. (
§core_io_internals)error: NonNull<dyn Error + Send + Sync>🔬This is a nightly-only experimental API. (
§core_io_internals)error_drop: unsafe fn(*mut dyn Error + Send + Sync)🔬This is a nightly-only experimental API. (
§core_io_internals)outer_drop: unsafe fn(*mut Self)🔬This is a nightly-only experimental API. (
core_io_internals)Implementations§
Source§impl Custom
impl Custom
Sourcepub unsafe fn from_raw(
kind: ErrorKind,
error: NonNull<dyn Error + Send + Sync>,
error_drop: unsafe fn(*mut dyn Error + Send + Sync),
outer_drop: unsafe fn(*mut Self),
) -> Custom
🔬This is a nightly-only experimental API. (core_io_internals)
pub unsafe fn from_raw( kind: ErrorKind, error: NonNull<dyn Error + Send + Sync>, error_drop: unsafe fn(*mut dyn Error + Send + Sync), outer_drop: unsafe fn(*mut Self), ) -> Custom
core_io_internals)§Safety
errormust be valid for up to a static lifetime, and own its pointee.error_dropmust be safe to call for the pointererrorexactly once.outer_dropmust be safe to call on a pointer to this instance ofCustomif it were stored within aCustomOwner.
pub fn into_raw(self) -> NonNull<dyn Error + Send + Sync>
🔬This is a nightly-only experimental API. (
core_io_internals)fn error_ref(&self) -> &(dyn Error + Send + Sync + 'static)
🔬This is a nightly-only experimental API. (
core_io #154046)fn error_mut(&mut self) -> &mut (dyn Error + Send + Sync + 'static)
🔬This is a nightly-only experimental API. (
core_io #154046)