about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/value.hh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libexpr/value.hh')
-rw-r--r--third_party/nix/src/libexpr/value.hh21
1 files changed, 8 insertions, 13 deletions
diff --git a/third_party/nix/src/libexpr/value.hh b/third_party/nix/src/libexpr/value.hh
index df6563cf1c..6bb694d183 100644
--- a/third_party/nix/src/libexpr/value.hh
+++ b/third_party/nix/src/libexpr/value.hh
@@ -3,9 +3,6 @@
 #include <tuple>
 #include <vector>
 
-#include <gc/gc_allocator.h>
-#include <gc/gc_cpp.h>
-
 #include "libexpr/symbol-table.hh"
 #include "libutil/types.hh"
 
@@ -66,32 +63,32 @@ struct Value;
    the inputSrcs of the derivations.
 
    For canonicity, the store paths should be in sorted order. */
-struct NixString : public gc {
+struct NixString {
   const char* s;
   const char** context;  // must be in sorted order
 };
 
-struct NixThunk : public gc {
+struct NixThunk {
   Env* env;
   Expr* expr;
 };
 
-struct NixApp : public gc {
+struct NixApp {
   Value *left, *right;
 };
 
-struct NixLambda : public gc {
+struct NixLambda {
   Env* env;
   ExprLambda* fun;
 };
 
-struct NixPrimOpApp : public gc {
+struct NixPrimOpApp {
   Value *left, *right;
 };
 
-using NixList = std::vector<Value*, traceable_allocator<Value*>>;
+using NixList = std::vector<Value*>;
 
-struct Value : public gc {
+struct Value {
   ValueType type;
   union {  // TODO(tazjin): std::variant
     NixInt integer;
@@ -177,9 +174,7 @@ void mkPath(Value& v, const char* s);
    not included. */
 size_t valueSize(const Value& v);
 
-typedef std::map<Symbol, Value*, std::less<Symbol>,
-                 traceable_allocator<std::pair<const Symbol, Value*>>>
-    ValueMap;
+using ValueMap = std::map<Symbol, Value*>;
 
 std::shared_ptr<Value*> allocRootValue(Value* v);