diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2023-04-13 13:38:12 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2023-04-13 13:39:44 -0400 |
commit | ee97f107e8749d61ae5e310a2d457637ccc109ce (patch) | |
tree | 789bafa078e101394361f6e8020f3cf93017fa77 /src/libstore/dummy-store.cc | |
parent | ef0b48377d0fc79d70455c402ed4df4b18cb93dd (diff) |
Push `getFSAccessor` `unsupported(...)` down `Store` class hierarchy
More progress on issue #5729.
Instead of having it by the default method in `Store` itself, have it be
the implementation in `DummyStore` and `LegacySSHStore`. Then just the
implementations which fail to provide the method pay the "penalty" of
dealing with the icky `unimplemented` function for non-compliance.
Combined with my other recent PRs, this finally makes `Store` have no
`unsupported` calls!
Diffstat (limited to 'src/libstore/dummy-store.cc')
-rw-r--r-- | src/libstore/dummy-store.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libstore/dummy-store.cc b/src/libstore/dummy-store.cc index ae2777d0c..74d6ed3b5 100644 --- a/src/libstore/dummy-store.cc +++ b/src/libstore/dummy-store.cc @@ -71,6 +71,9 @@ struct DummyStore : public virtual DummyStoreConfig, public virtual Store void queryRealisationUncached(const DrvOutput &, Callback<std::shared_ptr<const Realisation>> callback) noexcept override { callback(nullptr); } + + virtual ref<FSAccessor> getFSAccessor() override + { unsupported("getFSAccessor"); } }; static RegisterStoreImplementation<DummyStore, DummyStoreConfig> regDummyStore; |