///|
/// Internal failures become public diagnostics at the API boundary.
priv suberror RasterFailure {
RasterInvalid(String, String, String?)
}
///|
fn raster_unsupported(message : String) -> RasterFailure {
RasterInvalid("raster/unsupported-input", message, None)
}
///|
fn raster_diagnostic(error : RasterFailure) -> RasterDiagnostic {
match error {
RasterInvalid(code, message, source_id) => { code, message, source_id, }
}
}