pub trait State {
type Params;
type Change: Clone;
// Required methods
fn energy(&self, params: &mut Self::Params) -> f64;
fn propose_change(&self, rng: &mut impl Rng) -> Self::Change;
fn apply_change(&mut self, change: Self::Change);
fn revert_change(&mut self, change: Self::Change);
}Required Associated Types§
Required Methods§
fn energy(&self, params: &mut Self::Params) -> f64
fn propose_change(&self, rng: &mut impl Rng) -> Self::Change
fn apply_change(&mut self, change: Self::Change)
fn revert_change(&mut self, change: Self::Change)
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.