From 4455f28e426f49c2e3b8ef08961e5073a11a5b4f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 4 Jul 2020 03:42:21 +0100 Subject: chore(3p/nix/libexpr): Remove dead code from attribute sets These bits are no longer required with the hashmap-backed implementation of attribute sets. Change-Id: I8b936d8d438a00bad4ccf8e0b4dd719c559ce8c2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/912 Tested-by: BuildkiteCI Reviewed-by: edef --- third_party/nix/src/libexpr/attr-set.cc | 2 -- third_party/nix/src/libexpr/attr-set.hh | 15 +-------------- third_party/nix/src/libexpr/eval.cc | 2 +- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/third_party/nix/src/libexpr/attr-set.cc b/third_party/nix/src/libexpr/attr-set.cc index c5355a69c5..8b34be6fd9 100644 --- a/third_party/nix/src/libexpr/attr-set.cc +++ b/third_party/nix/src/libexpr/attr-set.cc @@ -36,8 +36,6 @@ void Bindings::insert_or_assign(const Attr& attr) { size_t Bindings::size() { return attributes_.size(); } -size_t Bindings::capacity() { return 0; } - bool Bindings::empty() { return attributes_.empty(); } std::vector Bindings::lexicographicOrder() { diff --git a/third_party/nix/src/libexpr/attr-set.hh b/third_party/nix/src/libexpr/attr-set.hh index ff13e9a7fa..31e5101d85 100644 --- a/third_party/nix/src/libexpr/attr-set.hh +++ b/third_party/nix/src/libexpr/attr-set.hh @@ -21,15 +21,8 @@ struct Attr { Attr(Symbol name, Value* value, Pos* pos = &noPos) : name(name), value(value), pos(pos){}; Attr() : pos(&noPos){}; - bool operator<(const Attr& other) const { return name < other.name; } }; -// TODO: remove this, it only exists briefly while I get rid of the -// current Attr struct -inline bool operator==(const Attr& lhs, const Attr& rhs) { - return lhs.name == rhs.name; -} - // Convenience alias for the backing map, with the garbage-collecting // allocator explicitly specified. using AttributeMap = @@ -63,15 +56,9 @@ class Bindings { iterator begin(); iterator end(); - // Merge values from other into the current attribute + // Merge values from other into this attribute set. void merge(const Bindings& other); - // ??? - [[deprecated]] size_t capacity(); - - // oh no - // Attr& operator[](size_t pos); // { return attrs[pos]; } - // TODO: can callers just iterate? [[deprecated]] std::vector lexicographicOrder(); diff --git a/third_party/nix/src/libexpr/eval.cc b/third_party/nix/src/libexpr/eval.cc index 91dff6b40d..6d77928d7d 100644 --- a/third_party/nix/src/libexpr/eval.cc +++ b/third_party/nix/src/libexpr/eval.cc @@ -1865,7 +1865,7 @@ size_t valueSize(Value& v) { case tAttrs: if (seen.find(v.attrs) == seen.end()) { seen.insert(v.attrs); - sz += sizeof(Bindings) + sizeof(Attr) * v.attrs->capacity(); + sz += sizeof(Bindings); for (auto& i : *v.attrs) { sz += doValue(*i.second.value); } -- cgit 1.4.1