pub trait ValidatableConfig:
Clone
+ Send
+ Sync {
// Required method
fn validate(&self) -> Result<()>;
}Expand description
Configuration validation trait.
All configuration structs should implement this trait to provide consistent validation across the ecosystem.
§Example
use rust_ai_core::{ValidatableConfig, CoreError, Result};
#[derive(Clone)]
struct LoraConfig {
rank: usize,
alpha: f32,
}
impl ValidatableConfig for LoraConfig {
fn validate(&self) -> Result<()> {
if self.rank == 0 {
return Err(CoreError::invalid_config("rank must be > 0"));
}
if self.alpha <= 0.0 {
return Err(CoreError::invalid_config("alpha must be positive"));
}
Ok(())
}
}Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.