From 3130aafd0145c5c07f4557fe37f0c4d367e2d4f1 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sun, 27 Oct 2019 10:15:51 +0100 Subject: builtins.toJSON: fix __toString usage (cherry picked from commit e583df52800b4baa1564b027fe3b83a21756c2cc) --- src/libexpr/value-to-json.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/libexpr/value-to-json.cc') diff --git a/src/libexpr/value-to-json.cc b/src/libexpr/value-to-json.cc index 72e413e4491e..5fe8570adeb4 100644 --- a/src/libexpr/value-to-json.cc +++ b/src/libexpr/value-to-json.cc @@ -40,7 +40,12 @@ void printValueAsJSON(EvalState & state, bool strict, break; case tAttrs: { - Bindings::iterator i = v.attrs->find(state.sOutPath); + auto maybeString = state.tryAttrsToString(noPos, v, context, false, false); + if (maybeString) { + out.write(*maybeString); + break; + } + auto i = v.attrs->find(state.sOutPath); if (i == v.attrs->end()) { auto obj(out.object()); StringSet names; -- cgit 1.4.1