formualizer_eval/
error_policy.rs

1use formualizer_common::LiteralValue;
2
3/// Return Some(error) if either is an Error, following left-to-right precedence.
4pub fn propagate_error2(left: &LiteralValue, right: &LiteralValue) -> Option<LiteralValue> {
5    match (left, right) {
6        (LiteralValue::Error(_), _) => Some(left.clone()),
7        (_, LiteralValue::Error(_)) => Some(right.clone()),
8        _ => None,
9    }
10}
11
12/// Return Some(error) if the argument is an Error.
13pub fn propagate_error1(v: &LiteralValue) -> Option<LiteralValue> {
14    match v {
15        LiteralValue::Error(_) => Some(v.clone()),
16        _ => None,
17    }
18}