| //@ 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() {} |