1 2 3 4 5 6 7 8 9 10 11 12 13 14
pub trait EntryDef { type Content; type Redirect; } impl<C, R> EntryDef for (C, R) { type Content = C; type Redirect = R; } pub enum Entry<E: EntryDef> { Content(E::Content), Redirect(E::Redirect), }