aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libexpr/eval.cc6
-rw-r--r--tests/unit/libexpr/error_traces.cc4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index 5e511f49b..6d314463b 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -1712,7 +1712,11 @@ void EvalState::callFunction(Value & fun, size_t nrArgs, Value * * args, Value &
}
else
- error("attempt to call something which is not a function but %1%", showType(vCur)).atPos(pos).debugThrow<TypeError>();
+ error("attempt to call something which is not a function but %1%: %2%",
+ showType(vCur),
+ ValuePrinter(*this, vCur, errorPrintOptions))
+ .atPos(pos)
+ .debugThrow<TypeError>();
}
vRes = vCur;
diff --git a/tests/unit/libexpr/error_traces.cc b/tests/unit/libexpr/error_traces.cc
index 7f83aaecd..31b9e301d 100644
--- a/tests/unit/libexpr/error_traces.cc
+++ b/tests/unit/libexpr/error_traces.cc
@@ -750,7 +750,7 @@ namespace nix {
ASSERT_TRACE1("foldl' (_: 1) \"foo\" [ true ]",
TypeError,
- hintfmt("attempt to call something which is not a function but %s", "an integer"));
+ hintfmt("attempt to call something which is not a function but %s: %s", "an integer", ANSI_CYAN "1" ANSI_NORMAL));
ASSERT_TRACE2("foldl' (a: b: a && b) \"foo\" [ true ]",
TypeError,
@@ -835,7 +835,7 @@ namespace nix {
ASSERT_TRACE1("sort (_: 1) [ \"foo\" \"bar\" ]",
TypeError,
- hintfmt("attempt to call something which is not a function but %s", "an integer"));
+ hintfmt("attempt to call something which is not a function but %s: %s", "an integer", ANSI_CYAN "1" ANSI_NORMAL));
ASSERT_TRACE2("sort (_: _: 1) [ \"foo\" \"bar\" ]",
TypeError,