Fork of https://github.com/oxigraph/oxigraph.git for the purpose of NextGraph project
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
761 B
29 lines
761 B
use std::convert::Infallible;
|
|
use std::error::Error;
|
|
use std::io;
|
|
|
|
/// Traits that allows unwrapping only infallible results
|
|
pub(crate) trait UnwrapInfallible {
|
|
type Value;
|
|
|
|
fn unwrap_infallible(self) -> Self::Value;
|
|
}
|
|
|
|
impl<T> UnwrapInfallible for Result<T, Infallible> {
|
|
type Value = T;
|
|
|
|
fn unwrap_infallible(self) -> T {
|
|
match self {
|
|
Ok(value) => value,
|
|
Err(error) => match error {},
|
|
}
|
|
}
|
|
}
|
|
|
|
pub(crate) fn invalid_data_error(error: impl Into<Box<dyn Error + Send + Sync>>) -> io::Error {
|
|
io::Error::new(io::ErrorKind::InvalidData, error)
|
|
}
|
|
|
|
pub(crate) fn invalid_input_error(error: impl Into<Box<dyn Error + Send + Sync>>) -> io::Error {
|
|
io::Error::new(io::ErrorKind::InvalidInput, error)
|
|
}
|
|
|