summaryrefslogtreecommitdiff
path: root/src/eval/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval/ops.rs')
-rw-r--r--src/eval/ops.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/eval/ops.rs b/src/eval/ops.rs
index 56d6687b..c52a62ca 100644
--- a/src/eval/ops.rs
+++ b/src/eval/ops.rs
@@ -44,10 +44,16 @@ pub fn add(lhs: Value, rhs: Value) -> Value {
(Linear(a), Length(b)) => Linear(a + b),
(Linear(a), Relative(b)) => Linear(a + b),
(Linear(a), Linear(b)) => Linear(a + b),
+
(Str(a), Str(b)) => Str(a + &b),
(Array(a), Array(b)) => Array(concat(a, b)),
(Dict(a), Dict(b)) => Dict(concat(a, b)),
+
+ // TODO: Add string and template.
(Template(a), Template(b)) => Template(concat(a, b)),
+ (Template(a), None) => Template(a),
+ (None, Template(b)) => Template(b),
+
_ => Error,
}
}