1use snafu::Snafu;
4
5#[derive(Debug, Snafu)]
7#[snafu(visibility(pub(crate)))]
8#[allow(missing_docs)]
9pub enum CompileError {
10 #[snafu(display("InvalidFieldName: {field_name} is not a valid rust ident"))]
12 InvalidFieldName { field_name: String },
13 #[snafu(display("DefaultValueTooLong: {message}"))]
15 DefaultValueTooLong { message: String },
16 #[snafu(display("DefaultValueTypeMismatch: {message}"))]
18 DefaultValueTypeMismatch { message: String },
19 #[snafu(display("NotRunViaCargo: Missing expected cargo env variables"))]
21 NotRunViaCargo,
22 #[snafu(display("Io: {source}"))]
24 Io { source: std::io::Error },
25 #[snafu(display("Error loading device config: {source}"))]
27 DeviceConfig {
28 source: zencan_common::device_config::LoadError,
29 },
30}