diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh index 38d737725..daf53846f 100644 --- a/src/libexpr/eval.hh +++ b/src/libexpr/eval.hh @@ -336,5 +336,13 @@ string showType(const Value & v); /* If `path' refers to a directory, then append "/default.nix". */ Path resolveExprPath(Path path); +struct InvalidPathError : EvalError +{ + Path path; + InvalidPathError(const Path & path); +}; + +/* Realise all paths in `context' */ +void realiseContext(const PathSet & context); } diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index a1374a05e..50d03f369 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -39,16 +39,10 @@ std::pair decodeContext(const string & s) } -struct InvalidPathError : EvalError -{ - Path path; - InvalidPathError(const Path & path) : - EvalError(format("path ‘%1%’ is not valid") % path), path(path) {}; - ~InvalidPathError() throw () { }; -}; +InvalidPathError::InvalidPathError(const Path & path) : + EvalError(format("path ‘%1%’ is not valid") % path), path(path) {} - -static void realiseContext(const PathSet & context) +void realiseContext(const PathSet & context) { PathSet drvs; for (auto & i : context) {