summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eval/ops.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/eval/ops.rs b/src/eval/ops.rs
index 94e57718..649b8467 100644
--- a/src/eval/ops.rs
+++ b/src/eval/ops.rs
@@ -84,6 +84,9 @@ pub fn add(lhs: Value, rhs: Value) -> StrResult<Value> {
(Str(a), Str(b)) => Str(a + b),
(Array(a), Array(b)) => Array(a + b),
(Dict(a), Dict(b)) => Dict(a + b),
+
+ (Node(a), None) => Node(a),
+ (None, Node(b)) => Node(b),
(Node(a), Node(b)) => Node(a + b),
(Node(a), Str(b)) => Node(a + super::Node::Text(b)),
(Str(a), Node(b)) => Node(super::Node::Text(a) + b),