1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pub trait EntryDef { type File; type Link; type Dir; } impl<F, L, D> EntryDef for (F, L, D) { type File = F; type Link = L; type Dir = D; } pub enum Entry<E: EntryDef> { File(E::File), Link(E::Link), Dir(jbk::EntryRange, E::Dir), }