pub trait Evaluator {
    type Item;
    type Error;

    // Required methods
    fn evaluate(
        expression: Expression<Self::Item>
    ) -> Result<Self::Item, Self::Error>;
    fn add_digit(number_so_far: Self::Item, next_digit: u8) -> Self::Item;
    fn zero() -> Self::Item;
}
Expand description

A trait for Zero-Sized-Types that can evaluate expressions

Required Associated Types§

source

type Item

The number type to be evaluated

source

type Error

Required Methods§

source

fn evaluate( expression: Expression<Self::Item> ) -> Result<Self::Item, Self::Error>

source

fn add_digit(number_so_far: Self::Item, next_digit: u8) -> Self::Item

source

fn zero() -> Self::Item

Implementors§