1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-16 07:22:43 +01:00

Merge pull request #14278 from obsidiansystems/adl-serializer-xp

Cleanup and JSON serializer and XP feature interations
This commit is contained in:
John Ericson 2025-10-20 18:22:21 +00:00 committed by GitHub
commit f05d240222
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 166 additions and 164 deletions

View file

@ -3,6 +3,8 @@
#include <nlohmann/json_fwd.hpp>
#include "nix/util/experimental-features.hh"
// Following https://github.com/nlohmann/json#how-can-i-use-get-for-non-default-constructiblenon-copyable-types
#define JSON_IMPL(TYPE) \
namespace nlohmann { \
@ -14,3 +16,15 @@
static void to_json(json & json, const TYPE & t); \
}; \
}
#define JSON_IMPL_WITH_XP_FEATURES(TYPE) \
namespace nlohmann { \
using namespace nix; \
template<> \
struct adl_serializer<TYPE> \
{ \
static TYPE \
from_json(const json & json, const ExperimentalFeatureSettings & xpSettings = experimentalFeatureSettings); \
static void to_json(json & json, const TYPE & t); \
}; \
}