1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-06 09:01:01 +01:00

Make it hard to construct an empty OutputsSpec::Names

This should be a non-empty set, and so we don't want people doing this
by accident. We remove the zero-0 constructor with a little inheritance
trickery.
This commit is contained in:
John Ericson 2023-01-11 11:54:43 -05:00
parent 8a3b1b7ced
commit 114a6e2b09
7 changed files with 26 additions and 11 deletions

View file

@ -990,7 +990,7 @@ void DerivationGoal::resolvedFinished()
return resolvedDrv.outputNames();
},
[&](const OutputsSpec::Names & names) {
return names;
return static_cast<std::set<std::string>>(names);
},
}, wantedOutputs.raw());
@ -1325,7 +1325,7 @@ std::pair<bool, DrvOutputs> DerivationGoal::checkPathValidity()
return StringSet {};
},
[&](const OutputsSpec::Names & names) {
return names;
return static_cast<StringSet>(names);
},
}, wantedOutputs.raw());
DrvOutputs validOutputs;