extern crate sylasteven as engine; use engine::{Change, Handler, Layer, System}; struct SystemEvent; struct State; impl System for State where H::Event: From, { fn process(&mut self, handler: &mut H) { handler.handle(SystemEvent.into()); } } struct SimpleLayer; impl Layer for SimpleLayer { fn update(&mut self, _state: &mut S, _event: &E) -> Change { Change::remove() } } #[test] fn main() { let state = State; let layers: Vec>> = vec![Box::new(SimpleLayer)]; engine::run::<_, SystemEvent>(state, layers); }