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}