mirror of
https://github.com/NixOS/nix.git
synced 2024-10-31 14:20:52 +00:00
8c0590fa32
Thunks are now overwritten by a helper function `Value::finishValue(newType, payload)` (where `payload` is the original anonymous union inside `Value`). This helps to ensure we never update a value elsewhere, since that would be incompatible with parallel evaluation (i.e. after a value has transitioned from being a thunk to being a non-thunk, it should be immutable). There were two places where this happened: `Value::mkString()` and `ExprAttrs::eval()`. This PR also adds a bunch of accessor functions for value contents, like `Value::integer()` to access the integer field in the union. |
||
---|---|---|
.. | ||
flake | ||
value | ||
derived-path.cc | ||
error_traces.cc | ||
eval.cc | ||
json.cc | ||
local.mk | ||
primops.cc | ||
search-path.cc | ||
trivial.cc |