From f8b60736ba96028b8c3e2f3ac343539c2f5cb502 Mon Sep 17 00:00:00 2001 From: Лач Date: Thu, 25 Jun 2020 11:16:27 +0000 Subject: [PATCH] fix(evaluator): str+num infinite recursion --- --- a/crates/jsonnet-evaluator/src/evaluate.rs +++ b/crates/jsonnet-evaluator/src/evaluate.rs @@ -82,6 +82,10 @@ Ok(match (a, b) { (Val::Str(v1), Val::Str(v2)) => Val::Str(v1.to_owned() + &v2), + // Can't use generic json serialization way, because it depends on number to string concatenation (std.jsonnet:890) + (Val::Num(n), Val::Str(o)) => Val::Str(format!("{}{}", n, o)), + (Val::Str(o), Val::Num(n)) => Val::Str(format!("{}{}", o, n)), + (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)), -- gitstuff