open_cl_low_level/
error.rs1use crate::context_builder::ContextBuilderError;
7use crate::device::DeviceError;
8use crate::event::EventError;
9use crate::kernel::KernelError;
10use crate::platform::PlatformError;
11use crate::program::ProgramError;
12use crate::session::{SessionBuilderError, SessionError};
13use crate::status_code::StatusCodeError;
14use crate::work::WorkError;
15use crate::cl_number_type::TypeError;
16
17#[derive(Debug, Fail, PartialEq, Clone, Eq)]
18pub enum Error {
19 #[fail(display = "{:?}", _0)]
20 StatusCodeError(StatusCodeError),
21
22 #[fail(display = "{:?}", _0)]
23 PlatformError(PlatformError),
24
25 #[fail(display = "{:?}", _0)]
26 DeviceError(DeviceError),
27
28 #[fail(display = "{:?}", _0)]
29 ProgramError(ProgramError),
30
31 #[fail(display = "{:?}", _0)]
32 KernelError(KernelError),
33
34 #[fail(display = "{:?}", _0)]
35 EventError(EventError),
36
37 #[fail(display = "{:?}", _0)]
38 ContextBuilderError(ContextBuilderError),
39
40 #[fail(display = "{:?}", _0)]
41 SessionBuilderError(SessionBuilderError),
42
43 #[fail(display = "{:?}", _0)]
44 SessionError(SessionError),
45
46 #[fail(display = "{:?}", _0)]
47 WorkError(WorkError),
48
49 #[fail(display = "{:?}", _0)]
50 TypeError(TypeError),
51
52 #[fail(display = "OpenCL returned a null pointer")]
53 ClObjectCannotBeNull,
54}
55
56impl Error {
57 pub fn panic(e: Error) {
58 panic!("{:?}", e);
59 }
60}
61
62impl From<StatusCodeError> for Error {
63 fn from(err: StatusCodeError) -> Error {
64 Error::StatusCodeError(err)
65 }
66}
67
68impl From<PlatformError> for Error {
69 fn from(err: PlatformError) -> Error {
70 Error::PlatformError(err)
71 }
72}
73
74impl From<DeviceError> for Error {
75 fn from(err: DeviceError) -> Error {
76 Error::DeviceError(err)
77 }
78}
79
80impl From<ProgramError> for Error {
81 fn from(e: ProgramError) -> Error {
82 Error::ProgramError(e)
83 }
84}
85
86impl From<KernelError> for Error {
87 fn from(e: KernelError) -> Error {
88 Error::KernelError(e)
89 }
90}
91
92impl From<ContextBuilderError> for Error {
93 fn from(err: ContextBuilderError) -> Error {
94 Error::ContextBuilderError(err)
95 }
96}
97
98impl From<SessionBuilderError> for Error {
99 fn from(err: SessionBuilderError) -> Error {
100 Error::SessionBuilderError(err)
101 }
102}
103
104impl From<SessionError> for Error {
105 fn from(err: SessionError) -> Error {
106 Error::SessionError(err)
107 }
108}
109
110impl From<WorkError> for Error {
111 fn from(err: WorkError) -> Error {
112 Error::WorkError(err)
113 }
114}
115
116impl From<TypeError> for Error {
117 fn from(err: TypeError) -> Error {
118 Error::TypeError(err)
119 }
120}
121