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}