11 pub trait Callback<T: Trait1>: FnMut(<T as Trait1>::C) {}
12 impl<T: Trait1, F: FnMut(<T as Trait1>::C)> Callback<T> for F {}
14 pub struct State<T: Trait1> {
15 callback: Option<Box<dyn Callback<T>>>,
17 impl<T: Trait1> State<T> {
19 Self { callback: None }
21 fn test_cb(&mut self, d: <T as Trait1>::C) {
22 (self.callback.as_mut().unwrap())(d)
27 let mut s = State::<T1>::new();