From 39c46654880d66a1bdfe107f6726630ff831707e Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 13 Oct 2025 23:48:58 +0200 Subject: [PATCH] Store reason as a field in MissingExperimentalFeature Store the reason string as a field in the exception class rather than only embedding it in the error message. This supports better structured error handling and future JSON error reporting. Suggested by Ericson2314 in PR review. --- src/libutil/experimental-features.cc | 1 + src/libutil/include/nix/util/experimental-features.hh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/libutil/experimental-features.cc b/src/libutil/experimental-features.cc index 11b8ceadf..198d021bb 100644 --- a/src/libutil/experimental-features.cc +++ b/src/libutil/experimental-features.cc @@ -383,6 +383,7 @@ MissingExperimentalFeature::MissingExperimentalFeature(ExperimentalFeature featu showExperimentalFeature(feature), Uncolored(optionalBracket(" (", reason, ")"))) , missingFeature(feature) + , reason{reason} { } diff --git a/src/libutil/include/nix/util/experimental-features.hh b/src/libutil/include/nix/util/experimental-features.hh index 6ffc0e0c0..aca14bfbb 100644 --- a/src/libutil/include/nix/util/experimental-features.hh +++ b/src/libutil/include/nix/util/experimental-features.hh @@ -88,6 +88,8 @@ public: */ ExperimentalFeature missingFeature; + std::string reason; + MissingExperimentalFeature(ExperimentalFeature missingFeature, std::string reason = ""); };