diff --git a/src/nix/installables.cc b/src/nix/installables.cc index 5267a37a0..a06022f8c 100644 --- a/src/nix/installables.cc +++ b/src/nix/installables.cc @@ -179,27 +179,6 @@ struct InstallableStorePath : Installable } }; -std::vector InstallableAttrPath::toDerivations() -{ - auto v = toValue(*state).first; - - Bindings & autoArgs = *cmd.getAutoArgs(*state); - - DrvInfos drvInfos; - getDerivations(*state, *v, "", autoArgs, drvInfos, false); - - std::vector res; - for (auto & drvInfo : drvInfos) { - res.push_back({ - state->store->parseStorePath(drvInfo.queryDrvPath()), - state->store->parseStorePath(drvInfo.queryOutPath()), - drvInfo.queryOutputName() - }); - } - - return res; -} - Buildables InstallableValue::toBuildables() { Buildables res; @@ -255,6 +234,27 @@ struct InstallableAttrPath : InstallableValue virtual std::vector toDerivations() override; }; +std::vector InstallableAttrPath::toDerivations() +{ + auto v = toValue(*state).first; + + Bindings & autoArgs = *cmd.getAutoArgs(*state); + + DrvInfos drvInfos; + getDerivations(*state, *v, "", autoArgs, drvInfos, false); + + std::vector res; + for (auto & drvInfo : drvInfos) { + res.push_back({ + state->store->parseStorePath(drvInfo.queryDrvPath()), + state->store->parseStorePath(drvInfo.queryOutPath()), + drvInfo.queryOutputName() + }); + } + + return res; +} + std::vector InstallableFlake::getActualAttrPaths() { std::vector res;