use std::fmt::Debug; pub trait Drift: Copy + Debug { fn variance_delta(&self, elapsed: i64) -> f64; } #[derive(Clone, Copy, Debug)] pub struct ConstantDrift(pub f64); impl Drift for ConstantDrift { fn variance_delta(&self, elapsed: i64) -> f64 { elapsed as f64 * self.0 * self.0 } }