1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-26 15:51:15 +02:00

debugger on autoCallFunction error

This commit is contained in:
Ben Burdette 2021-05-03 14:37:33 -06:00
parent f32c687f03
commit 2dd61411af
2 changed files with 30 additions and 10 deletions

View file

@ -1398,12 +1398,28 @@ void EvalState::autoCallFunction(Bindings & args, Value & fun, Value & res)
if (j != args.end()) {
actualArgs->attrs->push_back(*j);
} else if (!i.def) {
throwMissingArgumentError(i.pos, R"(cannot evaluate a function that has an argument without a value ('%1%')
auto error = MissingArgumentError({
.msg = hintfmt(R"(cannot evaluate a function that has an argument without a value ('%1%')
Nix attempted to evaluate a function as a top level expression; in
this case it must have its arguments supplied either by default
values, or passed explicitly with '--arg' or '--argstr'. See
https://nixos.org/manual/nix/stable/#ss-functions.)", i.name);
https://nixos.org/manual/nix/stable/#ss-functions.)", i.name),
.errPos = i.pos
});
// throwMissingArgumentError(i.pos
// , R"(cannot evaluate a function that has an argument without a value ('%1%')
// Nix attempted to evaluate a function as a top level expression; in
// this case it must have its arguments supplied either by default
// values, or passed explicitly with '--arg' or '--argstr'. See
// https://nixos.org/manual/nix/stable/#ss-functions.)", i.name);
if (debuggerHook)
debuggerHook(error, {{"fun", &fun}});
throw error;
}
}