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§
Sourceunsafe fn read_code(
code: i32,
r: &mut BufferReader<'_>,
) -> Result<Option<Self>, BufferDecodeError>
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".