nix-super/tests/unit
Eelco Dolstra fecff520d7 Add a ListBuilder helper for constructing list values
Previously, `state.mkList()` would set the type of the value to tList
and allocate the list vector, but it would not initialize the values
in the list. This has two problems:

* If an exception occurs, the list is left in an undefined state.

* More importantly, for multithreaded evaluation, if a value
  transitions from thunk to non-thunk, it should be final (i.e. other
  threads should be able to access the value safely).

To address this, there now is a `ListBuilder` class (analogous to
`BindingsBuilder`) to build the list vector prior to the call to
`Value::mkList()`. Typical usage:

   auto list = state.buildList(size);
   for (auto & v : list)
       v = ... set value ...;
   vRes.mkList(list);
2024-03-15 18:26:37 +01:00
..
libexpr Add a ListBuilder helper for constructing list values 2024-03-15 18:26:37 +01:00
libexpr-support Only link with -pthread on Unix 2024-01-10 20:38:39 -05:00
libstore Ban building Nix with NDEBUG 2024-03-02 11:22:46 -08:00
libstore-support test: Generate distinct path names 2024-01-31 18:35:19 +01:00
libutil Support symlinks properly with git-hashing experimental feature 2024-02-28 12:24:45 -05:00
libutil-support test: Generate distinct hashes 2024-01-31 18:35:19 +01:00