diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 509297003f..409e6256b5 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -517,7 +517,9 @@ static void prim_toPath(EvalState & state, Value * * args, Value & v) { PathSet context; Path path = state.coerceToPath(*args[0], context); - mkString(v, canonPath(path), context); + if (!context.empty()) + throw EvalError(format("string `%1%' cannot refer to other paths") % path); + mkPath(v, canonPath(path).c_str()); }