1use std::error::Error;
2use std::fmt;
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum VisionKitError {
6 InvalidArgument(String),
7 UnavailableOnThisMacOS(String),
8 UnavailableOnThisPlatform(String),
9 TimedOut(String),
10 AnalyzerNotSupported(String),
11 Framework(String),
12 Unknown(String),
13}
14
15impl fmt::Display for VisionKitError {
16 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17 match self {
18 Self::InvalidArgument(message)
19 | Self::UnavailableOnThisMacOS(message)
20 | Self::UnavailableOnThisPlatform(message)
21 | Self::TimedOut(message)
22 | Self::AnalyzerNotSupported(message)
23 | Self::Framework(message)
24 | Self::Unknown(message) => f.write_str(message),
25 }
26 }
27}
28
29impl Error for VisionKitError {}