//@ check-pass | |
#![feature(trait_alias)] | |
pub trait State = Clone + Send + Sync + PartialOrd + PartialEq + std::fmt::Display; | |
pub trait RandState<S: State> = FnMut() -> S + Send; | |
pub trait Evaluator { | |
type State; | |
} | |
pub struct Evolver<E: Evaluator> { | |
rand_state: Box<dyn RandState<E::State>>, | |
} | |
fn main() {} |