diff options
author | Andrea Bedini <andrea@andreabedini.com> | 2023-06-09 17:53:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-09 11:53:18 +0200 |
commit | 3c78920f7358957dba37a379e9d0b062dd3192e2 (patch) | |
tree | 58e7661604b520ba9964ef811b8249df8b5af5d1 /src/libutil/experimental-features.cc | |
parent | bf7dc3c7dc24f75fa623135750e8f10b8bcd94f9 (diff) |
Parse TOML timestamps (#8120)
Currently `fromTOML` throws an exception when encountering a timestamp
since the Nix language lacks a way to represent them.
This patch changes this beaviour and makes `fromTOML` parse timestamps as
attrsets of the format
{ _type = "timestamp"; value = "1979-05-27T07:32:00Z"; }
This is guarded by an experimental feature flag to leave room for iterating on the representation.
Diffstat (limited to 'src/libutil/experimental-features.cc')
-rw-r--r-- | src/libutil/experimental-features.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libutil/experimental-features.cc b/src/libutil/experimental-features.cc index 4bf545d7b..c4642d333 100644 --- a/src/libutil/experimental-features.cc +++ b/src/libutil/experimental-features.cc @@ -12,7 +12,7 @@ struct ExperimentalFeatureDetails std::string_view description; }; -constexpr std::array<ExperimentalFeatureDetails, 13> xpFeatureDetails = {{ +constexpr std::array<ExperimentalFeatureDetails, 14> xpFeatureDetails = {{ { .tag = Xp::CaDerivations, .name = "ca-derivations", @@ -214,6 +214,13 @@ constexpr std::array<ExperimentalFeatureDetails, 13> xpFeatureDetails = {{ derivations that are themselves derivations outputs. )", }, + { + .tag = Xp::ParseTomlTimestamps, + .name = "parse-toml-timestamps", + .description = R"( + Allow parsing of timestamps in builtins.fromTOML. + )", + }, }}; static_assert( @@ -248,7 +255,7 @@ std::string_view showExperimentalFeature(const ExperimentalFeature tag) return xpFeatureDetails[(size_t)tag].name; } -nlohmann::json documentExperimentalFeatures() +nlohmann::json documentExperimentalFeatures() { StringMap res; for (auto & xpFeature : xpFeatureDetails) |