use thiserror::Error;
#[allow(
clippy::enum_variant_names,
reason = "These names are more descriptive and easier to understand than the alternatives."
)]
#[derive(Debug, Error, Clone, PartialEq, Eq, Hash)]
pub enum WSLVersionParseError {
#[error(
"invalid WSL version format: expected 'major.minor' or 'major.minor.revision', got '{input}'"
)]
InvalidFormat { input: String },
#[error("invalid WSL version major component in '{input}'")]
InvalidMajor { input: String },
#[error("invalid WSL version minor component in '{input}'")]
InvalidMinor { input: String },
#[error("invalid WSL version revision component in '{input}'")]
InvalidRevision { input: String },
}