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. |
||
---|---|---|
.. | ||
libexpr | ||
libexpr-support | ||
libstore | ||
libstore-support | ||
libutil | ||
libutil-support |