1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-02 21:51:50 +02:00

move unsafeDiscardReferences out of outputChecks

It's not a check.
This commit is contained in:
Naïm Favier 2023-01-03 18:53:01 +01:00
parent 15f7fa59be
commit 3c968191f1
No known key found for this signature in database
GPG key ID: 95AFCE8211908325
3 changed files with 9 additions and 13 deletions

View file

@ -2321,14 +2321,12 @@ DrvOutputs LocalDerivationGoal::registerOutputs()
bool discardReferences = false;
if (auto structuredAttrs = parsedDrv->getStructuredAttrs()) {
if (auto outputChecks = get(*structuredAttrs, "outputChecks")) {
if (auto output = get(*outputChecks, outputName)) {
if (auto unsafeDiscardReferences = get(*output, "unsafeDiscardReferences")) {
settings.requireExperimentalFeature(Xp::DiscardReferences);
if (!unsafeDiscardReferences->is_boolean())
throw Error("attribute 'outputChecks.\"%s\".unsafeDiscardReferences' of derivation '%s' must be a Boolean", outputName, drvPath.to_string());
discardReferences = unsafeDiscardReferences->get<bool>();
}
if (auto udr = get(*structuredAttrs, "unsafeDiscardReferences")) {
settings.requireExperimentalFeature(Xp::DiscardReferences);
if (auto output = get(*udr, outputName)) {
if (!output->is_boolean())
throw Error("attribute 'unsafeDiscardReferences.\"%s\"' of derivation '%s' must be a Boolean", outputName, drvPath.to_string());
discardReferences = output->get<bool>();
}
}
}