titlefmt 0.4.0

Metadata Title Formatting Library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::Error;
use expression::{Evaluation, Expression, Value};
use metadata;

pub fn mul<T: metadata::Provider>(
    expressions: &[Box<Expression<T>>],
    provider: &T,
) -> Result<Evaluation, Error> {
    let mut result: i32 = 1;
    let mut truth = false;
    for expr in expressions.iter() {
        if let Some((i, expr_truth)) = try_integer_result!(expr, provider) {
            truth |= expr_truth;
            result *= i;
        }
    }
    Ok(Evaluation::new(Value::Integer(result), truth))
}