From d84b1e98b6e6413032fd258c31b8948fed043dd6 Mon Sep 17 00:00:00 2001 From: Лач Date: Sun, 14 Jun 2020 17:43:32 +0000 Subject: [PATCH] fix: make str+any/any+str to work as in vanilla --- --- a/crates/jsonnet-evaluator/src/evaluate.rs +++ b/crates/jsonnet-evaluator/src/evaluate.rs @@ -81,12 +81,8 @@ Ok(match (a, b) { (Val::Str(v1), Val::Str(v2)) => Val::Str(v1.to_owned() + &v2), - (Val::Str(v1), Val::Num(v2)) => Val::Str(format!("{}{}", v1, v2)), - (Val::Num(v1), Val::Str(v2)) => Val::Str(format!("{}{}", v1, v2)), - (Val::Str(v1), Val::Bool(v2)) => Val::Str(format!("{}{}", v1, v2)), - (Val::Bool(v1), Val::Str(v2)) => Val::Str(format!("{}{}", v1, v2)), - (Val::Str(v1), Val::Null) => Val::Str(format!("{}null", v1)), - (Val::Null, Val::Str(v2)) => Val::Str(format!("null{}", v2)), + (Val::Str(s), o) => Val::Str(format!("{}{}", s, o.clone().into_json(0)?)), + (o, Val::Str(s)) => Val::Str(format!("{}{}", o.clone().into_json(0)?, s)), (Val::Obj(v1), Val::Obj(v2)) => Val::Obj(v2.with_super(v1.clone())), (Val::Arr(a), Val::Arr(b)) => Val::Arr([&a[..], &b[..]].concat()), -- gitstuff