Cleanup: Remove singleton()
This commit is contained in:
parent
0d4a10e910
commit
6c75cf69c3
|
@ -87,7 +87,7 @@ static void prim_scopedImport(EvalState & state, const Pos & pos, Value * * args
|
||||||
Value & w = *state.allocValue();
|
Value & w = *state.allocValue();
|
||||||
state.mkAttrs(w, 3 + drv.outputs.size());
|
state.mkAttrs(w, 3 + drv.outputs.size());
|
||||||
Value * v2 = state.allocAttr(w, state.sDrvPath);
|
Value * v2 = state.allocAttr(w, state.sDrvPath);
|
||||||
mkString(*v2, path, singleton<PathSet>("=" + path));
|
mkString(*v2, path, {"=" + path});
|
||||||
v2 = state.allocAttr(w, state.sName);
|
v2 = state.allocAttr(w, state.sName);
|
||||||
mkString(*v2, drv.env["name"]);
|
mkString(*v2, drv.env["name"]);
|
||||||
Value * outputsVal =
|
Value * outputsVal =
|
||||||
|
@ -97,8 +97,7 @@ static void prim_scopedImport(EvalState & state, const Pos & pos, Value * * args
|
||||||
|
|
||||||
for (const auto & o : drv.outputs) {
|
for (const auto & o : drv.outputs) {
|
||||||
v2 = state.allocAttr(w, state.symbols.create(o.first));
|
v2 = state.allocAttr(w, state.symbols.create(o.first));
|
||||||
mkString(*v2, o.second.path,
|
mkString(*v2, o.second.path, {"!" + o.first + "!" + path});
|
||||||
singleton<PathSet>("!" + o.first + "!" + path));
|
|
||||||
outputsVal->listElems()[outputs_index] = state.allocValue();
|
outputsVal->listElems()[outputs_index] = state.allocValue();
|
||||||
mkString(*(outputsVal->listElems()[outputs_index++]), o.first);
|
mkString(*(outputsVal->listElems()[outputs_index++]), o.first);
|
||||||
}
|
}
|
||||||
|
@ -665,10 +664,10 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
|
||||||
drvHashes[drvPath] = hashDerivationModulo(*state.store, drv);
|
drvHashes[drvPath] = hashDerivationModulo(*state.store, drv);
|
||||||
|
|
||||||
state.mkAttrs(v, 1 + drv.outputs.size());
|
state.mkAttrs(v, 1 + drv.outputs.size());
|
||||||
mkString(*state.allocAttr(v, state.sDrvPath), drvPath, singleton<PathSet>("=" + drvPath));
|
mkString(*state.allocAttr(v, state.sDrvPath), drvPath, {"=" + drvPath});
|
||||||
for (auto & i : drv.outputs) {
|
for (auto & i : drv.outputs) {
|
||||||
mkString(*state.allocAttr(v, state.symbols.create(i.first)),
|
mkString(*state.allocAttr(v, state.symbols.create(i.first)),
|
||||||
i.second.path, singleton<PathSet>("!" + i.first + "!" + drvPath));
|
i.second.path, {"!" + i.first + "!" + drvPath});
|
||||||
}
|
}
|
||||||
v.attrs->sort();
|
v.attrs->sort();
|
||||||
}
|
}
|
||||||
|
@ -905,7 +904,7 @@ static void prim_toFile(EvalState & state, const Pos & pos, Value * * args, Valu
|
||||||
result, since `storePath' itself has references to the paths
|
result, since `storePath' itself has references to the paths
|
||||||
used in args[1]. */
|
used in args[1]. */
|
||||||
|
|
||||||
mkString(v, storePath, singleton<PathSet>(storePath));
|
mkString(v, storePath, {storePath});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -967,7 +966,7 @@ static void prim_filterSource(EvalState & state, const Pos & pos, Value * * args
|
||||||
? computeStorePathForPath(path, true, htSHA256, filter).first
|
? computeStorePathForPath(path, true, htSHA256, filter).first
|
||||||
: state.store->addToStore(baseNameOf(path), path, true, htSHA256, filter, state.repair);
|
: state.store->addToStore(baseNameOf(path), path, true, htSHA256, filter, state.repair);
|
||||||
|
|
||||||
mkString(v, dstPath, singleton<PathSet>(dstPath));
|
mkString(v, dstPath, {dstPath});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2145,8 +2145,7 @@ void DerivationGoal::startBuilder()
|
||||||
/* parent */
|
/* parent */
|
||||||
pid.setSeparatePG(true);
|
pid.setSeparatePG(true);
|
||||||
builderOut.writeSide.close();
|
builderOut.writeSide.close();
|
||||||
worker.childStarted(shared_from_this(),
|
worker.childStarted(shared_from_this(), {builderOut.readSide}, true, true);
|
||||||
singleton<set<int> >(builderOut.readSide), true, true);
|
|
||||||
|
|
||||||
/* Check if setting up the build environment failed. */
|
/* Check if setting up the build environment failed. */
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -3698,7 +3697,7 @@ void LocalStore::ensurePath(const Path & path)
|
||||||
|
|
||||||
Worker worker(*this);
|
Worker worker(*this);
|
||||||
GoalPtr goal = worker.makeSubstitutionGoal(path);
|
GoalPtr goal = worker.makeSubstitutionGoal(path);
|
||||||
Goals goals = singleton<Goals>(goal);
|
Goals goals = {goal};
|
||||||
|
|
||||||
worker.run(goals);
|
worker.run(goals);
|
||||||
|
|
||||||
|
@ -3711,7 +3710,7 @@ void LocalStore::repairPath(const Path & path)
|
||||||
{
|
{
|
||||||
Worker worker(*this);
|
Worker worker(*this);
|
||||||
GoalPtr goal = worker.makeSubstitutionGoal(path, true);
|
GoalPtr goal = worker.makeSubstitutionGoal(path, true);
|
||||||
Goals goals = singleton<Goals>(goal);
|
Goals goals = {goal};
|
||||||
|
|
||||||
worker.run(goals);
|
worker.run(goals);
|
||||||
|
|
||||||
|
|
|
@ -949,7 +949,7 @@ Path LocalStore::addToStoreFromDump(const string & dump, const string & name,
|
||||||
/* The first check above is an optimisation to prevent
|
/* The first check above is an optimisation to prevent
|
||||||
unnecessary lock acquisition. */
|
unnecessary lock acquisition. */
|
||||||
|
|
||||||
PathLocks outputLock(singleton<PathSet, Path>(dstPath));
|
PathLocks outputLock({dstPath});
|
||||||
|
|
||||||
if (repair || !isValidPath(dstPath)) {
|
if (repair || !isValidPath(dstPath)) {
|
||||||
|
|
||||||
|
@ -1018,7 +1018,7 @@ Path LocalStore::addTextToStore(const string & name, const string & s,
|
||||||
|
|
||||||
if (repair || !isValidPath(dstPath)) {
|
if (repair || !isValidPath(dstPath)) {
|
||||||
|
|
||||||
PathLocks outputLock(singleton<PathSet, Path>(dstPath));
|
PathLocks outputLock({dstPath});
|
||||||
|
|
||||||
if (repair || !isValidPath(dstPath)) {
|
if (repair || !isValidPath(dstPath)) {
|
||||||
|
|
||||||
|
|
|
@ -222,8 +222,7 @@ void switchLink(Path link, Path target)
|
||||||
|
|
||||||
void lockProfile(PathLocks & lock, const Path & profile)
|
void lockProfile(PathLocks & lock, const Path & profile)
|
||||||
{
|
{
|
||||||
lock.lockPaths(singleton<PathSet>(profile),
|
lock.lockPaths({profile}, (format("waiting for lock on profile ‘%1%’") % profile).str());
|
||||||
(format("waiting for lock on profile ‘%1%’") % profile).str());
|
|
||||||
lock.setDeletion(true);
|
lock.setDeletion(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,15 +117,6 @@ void createSymlink(const Path & target, const Path & link);
|
||||||
void replaceSymlink(const Path & target, const Path & link);
|
void replaceSymlink(const Path & target, const Path & link);
|
||||||
|
|
||||||
|
|
||||||
template<class T, class A>
|
|
||||||
T singleton(const A & a)
|
|
||||||
{
|
|
||||||
T t;
|
|
||||||
t.insert(a);
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Wrappers arount read()/write() that read/write exactly the
|
/* Wrappers arount read()/write() that read/write exactly the
|
||||||
requested number of bytes. */
|
requested number of bytes. */
|
||||||
void readFull(int fd, unsigned char * buf, size_t count);
|
void readFull(int fd, unsigned char * buf, size_t count);
|
||||||
|
|
|
@ -195,7 +195,7 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
|
||||||
case wopHasSubstitutes: {
|
case wopHasSubstitutes: {
|
||||||
Path path = readStorePath(from);
|
Path path = readStorePath(from);
|
||||||
startWork();
|
startWork();
|
||||||
PathSet res = store->querySubstitutablePaths(singleton<PathSet>(path));
|
PathSet res = store->querySubstitutablePaths({path});
|
||||||
stopWork();
|
stopWork();
|
||||||
to << (res.find(path) != res.end());
|
to << (res.find(path) != res.end());
|
||||||
break;
|
break;
|
||||||
|
@ -472,7 +472,7 @@ static void performOp(ref<LocalStore> store, bool trusted, unsigned int clientVe
|
||||||
Path path = absPath(readString(from));
|
Path path = absPath(readString(from));
|
||||||
startWork();
|
startWork();
|
||||||
SubstitutablePathInfos infos;
|
SubstitutablePathInfos infos;
|
||||||
store->querySubstitutablePathInfos(singleton<PathSet>(path), infos);
|
store->querySubstitutablePathInfos({path}, infos);
|
||||||
stopWork();
|
stopWork();
|
||||||
SubstitutablePathInfos::iterator i = infos.find(path);
|
SubstitutablePathInfos::iterator i = infos.find(path);
|
||||||
if (i == infos.end())
|
if (i == infos.end())
|
||||||
|
|
|
@ -224,7 +224,7 @@ static bool isPrebuilt(EvalState & state, DrvInfo & elem)
|
||||||
{
|
{
|
||||||
Path path = elem.queryOutPath();
|
Path path = elem.queryOutPath();
|
||||||
if (state.store->isValidPath(path)) return true;
|
if (state.store->isValidPath(path)) return true;
|
||||||
PathSet ps = state.store->querySubstitutablePaths(singleton<PathSet>(path));
|
PathSet ps = state.store->querySubstitutablePaths({path});
|
||||||
return ps.find(path) != ps.end();
|
return ps.find(path) != ps.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -710,13 +710,13 @@ static void opSet(Globals & globals, Strings opFlags, Strings opArgs)
|
||||||
drv.name = globals.forceName;
|
drv.name = globals.forceName;
|
||||||
|
|
||||||
if (drv.queryDrvPath() != "") {
|
if (drv.queryDrvPath() != "") {
|
||||||
PathSet paths = singleton<PathSet>(drv.queryDrvPath());
|
PathSet paths = {drv.queryDrvPath()};
|
||||||
printMissing(globals.state->store, paths);
|
printMissing(globals.state->store, paths);
|
||||||
if (globals.dryRun) return;
|
if (globals.dryRun) return;
|
||||||
globals.state->store->buildPaths(paths, globals.state->repair ? bmRepair : bmNormal);
|
globals.state->store->buildPaths(paths, globals.state->repair ? bmRepair : bmNormal);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printMissing(globals.state->store, singleton<PathSet>(drv.queryOutPath()));
|
printMissing(globals.state->store, {drv.queryOutPath()});
|
||||||
if (globals.dryRun) return;
|
if (globals.dryRun) return;
|
||||||
globals.state->store->ensurePath(drv.queryOutPath());
|
globals.state->store->ensurePath(drv.queryOutPath());
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ bool createUserEnv(EvalState & state, DrvInfos & elems,
|
||||||
Value args, topLevel;
|
Value args, topLevel;
|
||||||
state.mkAttrs(args, 3);
|
state.mkAttrs(args, 3);
|
||||||
mkString(*state.allocAttr(args, state.symbols.create("manifest")),
|
mkString(*state.allocAttr(args, state.symbols.create("manifest")),
|
||||||
manifestFile, singleton<PathSet>(manifestFile));
|
manifestFile, {manifestFile});
|
||||||
args.attrs->push_back(Attr(state.symbols.create("derivations"), &manifest));
|
args.attrs->push_back(Attr(state.symbols.create("derivations"), &manifest));
|
||||||
args.attrs->sort();
|
args.attrs->sort();
|
||||||
mkApp(topLevel, envBuilder, args);
|
mkApp(topLevel, envBuilder, args);
|
||||||
|
@ -128,7 +128,7 @@ bool createUserEnv(EvalState & state, DrvInfos & elems,
|
||||||
|
|
||||||
/* Realise the resulting store expression. */
|
/* Realise the resulting store expression. */
|
||||||
debug("building user environment");
|
debug("building user environment");
|
||||||
state.store->buildPaths(singleton<PathSet>(topLevelDrv), state.repair ? bmRepair : bmNormal);
|
state.store->buildPaths({topLevelDrv}, state.repair ? bmRepair : bmNormal);
|
||||||
|
|
||||||
/* Switch the current user environment to the output path. */
|
/* Switch the current user environment to the output path. */
|
||||||
PathLocks lock;
|
PathLocks lock;
|
||||||
|
|
|
@ -64,7 +64,7 @@ static PathSet realisePath(Path path, bool build = true)
|
||||||
DrvPathWithOutputs p = parseDrvPathWithOutputs(path);
|
DrvPathWithOutputs p = parseDrvPathWithOutputs(path);
|
||||||
|
|
||||||
if (isDerivation(p.first)) {
|
if (isDerivation(p.first)) {
|
||||||
if (build) store->buildPaths(singleton<PathSet>(path));
|
if (build) store->buildPaths({path});
|
||||||
Derivation drv = store->derivationFromPath(p.first);
|
Derivation drv = store->derivationFromPath(p.first);
|
||||||
rootNr++;
|
rootNr++;
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ static PathSet realisePath(Path path, bool build = true)
|
||||||
if (rootNr > 1) rootName += "-" + std::to_string(rootNr);
|
if (rootNr > 1) rootName += "-" + std::to_string(rootNr);
|
||||||
path = store->addPermRoot(path, rootName, indirectRoot);
|
path = store->addPermRoot(path, rootName, indirectRoot);
|
||||||
}
|
}
|
||||||
return singleton<PathSet>(path);
|
return {path};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ static PathSet maybeUseOutputs(const Path & storePath, bool useOutput, bool forc
|
||||||
outputs.insert(i.second.path);
|
outputs.insert(i.second.path);
|
||||||
return outputs;
|
return outputs;
|
||||||
}
|
}
|
||||||
else return singleton<PathSet>(storePath);
|
else return {storePath};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -537,7 +537,7 @@ static void opDumpDB(Strings opFlags, Strings opArgs)
|
||||||
throw UsageError("no arguments expected");
|
throw UsageError("no arguments expected");
|
||||||
PathSet validPaths = store->queryAllValidPaths();
|
PathSet validPaths = store->queryAllValidPaths();
|
||||||
for (auto & i : validPaths)
|
for (auto & i : validPaths)
|
||||||
cout << store->makeValidityRegistration(singleton<PathSet>(i), true, true);
|
cout << store->makeValidityRegistration({i}, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue