From 986a8f6b75ffa51682cbe730c5c2907296082cd4 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 22 May 2020 01:58:12 +0100 Subject: fix(3p/nix): Update for usage of new attribute set API The new attribute set API uses the iterators of the btree_map directly. This requires changes in various files because the internals of libexpr are very entangled. This code runs and compiles, but there is a bug causing empty attribute sets to be assigned incorrectly. --- third_party/nix/src/libexpr/value-to-json.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'third_party/nix/src/libexpr/value-to-json.cc') diff --git a/third_party/nix/src/libexpr/value-to-json.cc b/third_party/nix/src/libexpr/value-to-json.cc index 52ab44083b91..0b641a41b5ac 100644 --- a/third_party/nix/src/libexpr/value-to-json.cc +++ b/third_party/nix/src/libexpr/value-to-json.cc @@ -51,15 +51,15 @@ void printValueAsJSON(EvalState& state, bool strict, Value& v, auto obj(out.object()); StringSet names; for (auto& j : *v.attrs) { - names.insert(j.name); + names.insert(j.second.name); } for (auto& j : names) { - Attr& a(*v.attrs->find(state.symbols.Create(j))); + auto [_, a] = *v.attrs->find(state.symbols.Create(j)); auto placeholder(obj.placeholder(j)); printValueAsJSON(state, strict, *a.value, placeholder, context); } } else { - printValueAsJSON(state, strict, *i->value, out, context); + printValueAsJSON(state, strict, *i->second.value, out, context); } break; } -- cgit 1.4.1