dope-sys 0.23.0

Typed operating-system call contracts
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::convert::Infallible;

/// Completed resources and their undelivered operation result travel together.
pub struct Reclaimed<B, R, E = Infallible> {
    pub buffer: Option<B>,
    pub report: Option<R>,
    pub result: Result<(), E>,
}

impl<B, R, E> Reclaimed<B, R, E> {
    pub fn map_report<T>(self, map: impl FnOnce(R) -> T) -> Reclaimed<B, T, E> {
        Reclaimed {
            buffer: self.buffer,
            report: self.report.map(map),
            result: self.result,
        }
    }
}