aboutsummaryrefslogtreecommitdiff
path: root/src/libcmd/installables.cc
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-02-05 12:16:17 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-03-16 20:06:46 -0400
commitc998e0172f31fd5707a8361962ec99b3ff9b1b10 (patch)
treec8556e4e261fb80faebe66558b5bcccf92d1b26f /src/libcmd/installables.cc
parentacd707acca8acbc276af5181c7724c70a6a69ad5 (diff)
Move value-only methods to `InstallableValue`
These methods would previously fail on the other `Installable`s, so moving them to this class is more correct as to where they actually work. Additionally, a `InstallableValueCommand` is created to make it easier (or rather no worse than before) to write commands that just work on `InstallableValue`s. Besides being a cleanup to avoid failing default methods, this gets us closer to https://github.com/NixOS/rfcs/pull/134.
Diffstat (limited to 'src/libcmd/installables.cc')
-rw-r--r--src/libcmd/installables.cc17
1 files changed, 0 insertions, 17 deletions
diff --git a/src/libcmd/installables.cc b/src/libcmd/installables.cc
index 5cbf26b88..e2164ec72 100644
--- a/src/libcmd/installables.cc
+++ b/src/libcmd/installables.cc
@@ -364,23 +364,6 @@ DerivedPathWithInfo Installable::toDerivedPath()
return std::move(buildables[0]);
}
-std::vector<ref<eval_cache::AttrCursor>>
-Installable::getCursors(EvalState & state)
-{
- auto evalCache =
- std::make_shared<nix::eval_cache::EvalCache>(std::nullopt, state,
- [&]() { return toValue(state).first; });
- return {evalCache->getRoot()};
-}
-
-ref<eval_cache::AttrCursor>
-Installable::getCursor(EvalState & state)
-{
- /* Although getCursors should return at least one element, in case it doesn't,
- bound check to avoid an undefined behavior for vector[0] */
- return getCursors(state).at(0);
-}
-
static StorePath getDeriver(
ref<Store> store,
const Installable & i,