Skip to main content

dope_core/driver/result/poll/
error.rs

1use std::mem;
2
3use dope_sys::engine;
4
5use crate::{Engine, driver::result::poll};
6
7#[derive(Debug, Clone, Copy, Eq, PartialEq)]
8#[repr(transparent)]
9pub struct Error(<Engine as engine::raw::Poll>::Error);
10
11impl Error {
12    pub(crate) const fn from_backend(error: <Engine as engine::raw::Poll>::Error) -> Self {
13        Self(error)
14    }
15
16    pub fn into_cause(self) -> poll::Cause {
17        poll::Cause::from(self.0)
18    }
19}
20
21const _: () = {
22    assert!(mem::size_of::<Error>() == mem::size_of::<<Engine as engine::raw::Poll>::Error>());
23    assert!(mem::align_of::<Error>() == mem::align_of::<<Engine as engine::raw::Poll>::Error>());
24};