aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/abstract-setting-to-json.hh
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-05-19 10:56:59 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-06-18 23:31:18 -0400
commitd2ce2e89b178e7e7467cf4c1e572704a4c2ca75e (patch)
tree02aa329cd6ae719276abdfe953500783b91e1e23 /src/libutil/abstract-setting-to-json.hh
parentc8825e9d8c3fa802811f3829d055e3ef9aae90e2 (diff)
Split `OptionalPathSetting` from `PathSetting`
Rather than doing `allowEmpty` as boolean, have separate types and use `std::optional`. This makes it harder to forget the possibility of an empty path. The `build-hook` setting was categorized as a `PathSetting`, but actually it was split into arguments. No good! Now, it is `Setting<Strings>` which actually reflects what it means and how it is used. Because of the subtyping, we now also have support for `Setting<std::optional<String>>` in general. I imagine this can be used to clean up many more settings also.
Diffstat (limited to 'src/libutil/abstract-setting-to-json.hh')
-rw-r--r--src/libutil/abstract-setting-to-json.hh1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libutil/abstract-setting-to-json.hh b/src/libutil/abstract-setting-to-json.hh
index 7b6c3fcb5..d506dfb74 100644
--- a/src/libutil/abstract-setting-to-json.hh
+++ b/src/libutil/abstract-setting-to-json.hh
@@ -3,6 +3,7 @@
#include <nlohmann/json.hpp>
#include "config.hh"
+#include "json-utils.hh"
namespace nix {
template<typename T>