1 2 3 4 5 6 7 8 9
pub trait Logger<T>: Send { fn log(&mut self, item: T); } pub trait LoggerBackend { type Logger<T>: Logger<T>; fn create<T>(&self, epoch: usize) -> Self::Logger<T>; }