about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-04T02·42+0100
committertazjin <mail@tazj.in>2020-07-04T03·12+0000
commit4455f28e426f49c2e3b8ef08961e5073a11a5b4f (patch)
tree13d90afffa049cc514b4c4f2576cda38baf80d13
parentca03175e3177578c6b352236ac52851200d6f00c (diff)
chore(3p/nix/libexpr): Remove dead code from attribute sets r/1206
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 <edef@edef.eu>
-rw-r--r--third_party/nix/src/libexpr/attr-set.cc2
-rw-r--r--third_party/nix/src/libexpr/attr-set.hh15
-rw-r--r--third_party/nix/src/libexpr/eval.cc2
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<const Attr*> 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<const Attr*> 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);
           }