openapi_nexus/ir/lower/
error.rs1use std::fmt;
4
5#[derive(Debug)]
6pub enum LowerError {
7 UnresolvedReference { reference: String },
9 ExternalReference { reference: String },
11 UnsupportedVersion { version: String },
13 Other { message: String },
15}
16
17impl fmt::Display for LowerError {
18 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19 match self {
20 LowerError::UnresolvedReference { reference } => {
21 write!(f, "unresolved reference: {reference}")
22 }
23 LowerError::ExternalReference { reference } => {
24 write!(f, "external references not supported: {reference}")
25 }
26 LowerError::UnsupportedVersion { version } => {
27 write!(f, "OpenAPI version {version} lowering not yet implemented")
28 }
29 LowerError::Other { message } => write!(f, "{message}"),
30 }
31 }
32}
33
34impl std::error::Error for LowerError {}