refactor(3p/nix/libexpr): Remove the nix::Symbol default constructor

Having a default constructor for this causes a variety of annoying
situations across the codebase in which this is initialised to an
unexpected value, leading to constant guarding against those
conditions.

It turns out there's actually no intrinsic reason that this default
constructor needs to exist. The biggest one was addressed in CL/1138
and this commit cleans up the remaining bits.

Change-Id: I4a847f50bc90e72f028598196592a7d8730a4e01
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1139
Reviewed-by: isomer <isomer@tvl.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2020-07-13 21:20:52 +01:00 committed by tazjin
parent afd1367337
commit fa161e9a38
10 changed files with 50 additions and 37 deletions

View file

@ -234,7 +234,7 @@ void prim_exec(EvalState& state, const Pos& pos, Value** args, Value& v) {
auto output = runProgram(program, true, commandArgs);
Expr* parsed;
try {
parsed = state.parseExprFromString(output, pos.file);
parsed = state.parseExprFromString(output, pos.file.value());
} catch (Error& e) {
e.addPrefix(format("While parsing the output from '%1%', at %2%\n") %
program % pos);