Skip to main content

dope_sys/memory/
failure.rs

1use std::convert::Infallible;
2
3use o3::mem::Rejected;
4
5use crate::memory::Error;
6
7/// Inspects a retained mapping failure without releasing its storage owner.
8pub trait Failure {
9    fn failure(&self) -> Error;
10}
11
12impl Failure for Infallible {
13    fn failure(&self) -> Error {
14        match *self {}
15    }
16}
17
18impl<T> Failure for Rejected<T, Error> {
19    fn failure(&self) -> Error {
20        *self.error()
21    }
22}