diff --git a/src/protocol/eval/value.rs b/src/protocol/eval/value.rs index 0f8dd46cbe48ed7d5afd0fadff97de3c50bd0b26..f5e06c522cbafce1755cac8be4eccad043a6257d 100644 --- a/src/protocol/eval/value.rs +++ b/src/protocol/eval/value.rs @@ -798,6 +798,7 @@ pub(crate) fn apply_inequality_operator(store: &Store, lhs: &Value, rhs: &Value) Value::SInt16(v) => *v != rhs.as_sint16(), Value::SInt32(v) => *v != rhs.as_sint32(), Value::SInt64(v) => *v != rhs.as_sint64(), + Value::Array(lhs_pos) => eval_inequality_heap(store, *lhs_pos, rhs.as_array()), Value::Enum(v) => *v != rhs.as_enum(), Value::Union(lhs_tag, lhs_pos) => { let (rhs_tag, rhs_pos) = rhs.as_union(); @@ -806,7 +807,7 @@ pub(crate) fn apply_inequality_operator(store: &Store, lhs: &Value, rhs: &Value) } eval_inequality_heap(store, *lhs_pos, rhs_pos) }, - Value::String(lhs_pos) => eval_inequality_heap(store, *lhs_pos, rhs.as_struct()), + Value::Struct(lhs_pos) => eval_inequality_heap(store, *lhs_pos, rhs.as_struct()), _ => unreachable!("apply_inequality_operator to lhs {:?}", lhs) } }