1#[derive(Debug, Clone)]
7pub enum TunerError {
8 InvalidFeature(String),
10 InsufficientData(usize),
12 Serialization(String),
14 ModelNotFound,
16 PredictionFailed(String),
18 TrainingFailed(String),
20 Io(String),
22 InvalidFormat(String),
24}
25
26impl std::fmt::Display for TunerError {
27 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
28 match self {
29 TunerError::InvalidFeature(msg) => write!(f, "Invalid feature: {}", msg),
30 TunerError::InsufficientData(n) => {
31 write!(f, "Insufficient training data: {} samples (need >= 10)", n)
32 }
33 TunerError::Serialization(msg) => write!(f, "Serialization error: {}", msg),
34 TunerError::ModelNotFound => write!(f, "Tuner model not found"),
35 TunerError::PredictionFailed(msg) => write!(f, "Prediction failed: {}", msg),
36 TunerError::TrainingFailed(msg) => write!(f, "Training failed: {}", msg),
37 TunerError::Io(msg) => write!(f, "I/O error: {}", msg),
38 TunerError::InvalidFormat(msg) => write!(f, "Invalid format: {}", msg),
39 }
40 }
41}
42
43impl std::error::Error for TunerError {}