diff --git a/flake.lock b/flake.lock index 389a35c..a6d0863 100644 --- a/flake.lock +++ b/flake.lock @@ -17,11 +17,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651007983, - "narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=", + "lastModified": 1651726670, + "narHash": "sha256-dSGdzB49SEvdOJvrQWfQYkAefewXraHIV08Vz6iDXWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936", + "rev": "c777cdf5c564015d5f63b09cc93bef4178b19b01", "type": "github" }, "original": { diff --git a/src/nix-eval-jobs.cc b/src/nix-eval-jobs.cc index 8ffd036..eb97d0b 100644 --- a/src/nix-eval-jobs.cc +++ b/src/nix-eval-jobs.cc @@ -287,14 +287,14 @@ static void worker(EvalState &state, Bindings &autoArgs, AutoCloseFD &to, path.size() == 0; // Dont require `recurseForDerivations = // true;` for top-level attrset - for (auto &i : v->attrs->lexicographicOrder()) { - std::string name(i->name); + for (auto &i : v->attrs->lexicographicOrder(state.symbols)) { + const std::string &name = state.symbols[i->name]; attrs.push_back(name); if (name == "recurseForDerivations") { auto attrv = v->attrs->get(state.sRecurseForDerivations); - recurse = state.forceBool(*attrv->value, *attrv->pos); + recurse = state.forceBool(*attrv->value, attrv->pos); } } if (recurse)