Skip to main content

ErrorDomain

Trait ErrorDomain 

Source
pub trait ErrorDomain: ErrorReport + Sized {
    // Required method
    unsafe fn read_code(
        code: i32,
        r: &mut BufferReader<'_>,
    ) -> Result<Option<Self>, BufferDecodeError>;
}
Expand description

An error type the #[weaveffi::error] expansion generates: a module’s error domain, decodable from a code and its payload.

ForeignError::domain uses it to turn a domain error a consumer’s callback reported into the typed error.

Required Methods§

Source

unsafe fn read_code( code: i32, r: &mut BufferReader<'_>, ) -> Result<Option<Self>, BufferDecodeError>

Decode the error code names, reading its payload fields (if any) from r. Returns Ok(None) when code isn’t one of the domain’s declared codes.

§Errors

Returns an error when the payload is malformed for the code.

§Safety

Same contract as BufferValue::read_value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§