parze 0.4.1

A clean, efficient parser combinator
Documentation
pub trait Also<N> {
    type Alsoed;

    fn also(self, next: N) -> Self::Alsoed;
}

impl<T, U> Also<T> for (U,) {
    type Alsoed = (U, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, next) }
}

impl<T, U, V> Also<T> for (U, V) {
    type Alsoed = (U, V, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, self.1, next) }
}

impl<T, U, V, W> Also<T> for (U, V, W) {
    type Alsoed = (U, V, W, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, self.1, self.2, next) }
}

impl<T, U, V, W, X> Also<T> for (U, V, W, X) {
    type Alsoed = (U, V, W, X, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, self.1, self.2, self.3, next) }
}

impl<T, U, V, W, X, Y> Also<T> for (U, V, W, X, Y) {
    type Alsoed = (U, V, W, X, Y, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, self.1, self.2, self.3, self.4, next) }
}

impl<T, U, V, W, X, Y, Z> Also<T> for (U, V, W, X, Y, Z) {
    type Alsoed = (U, V, W, X, Y, Z, T);
    fn also(self, next: T) -> Self::Alsoed { (self.0, self.1, self.2, self.3, self.4, self.5, next) }
}