aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-03-04 06:36:36 +0100
committereldritch horrors <pennae@lix.systems>2024-03-04 07:11:25 +0100
commit2ba978800355189e263aa7fe13277fd62ce743bc (patch)
treec68b6e852052fe6be14a9c17e3884e3bd1779cf1 /doc/manual
parentd42cd24afe1ff417a33c769d666cb2af231ca40b (diff)
Merge pull request #9555 from 9999years/positions-in-errors
Pass positions when evaluating (cherry picked from commit c8458bd731eb1c74159bebe459ea00165e056b65) Change-Id: I1b4a5d58973be6264ffdb23b4492da200fdb71be
Diffstat (limited to 'doc/manual')
-rw-r--r--doc/manual/rl-next/source-positions-in-errors.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/doc/manual/rl-next/source-positions-in-errors.md b/doc/manual/rl-next/source-positions-in-errors.md
new file mode 100644
index 000000000..15df884ea
--- /dev/null
+++ b/doc/manual/rl-next/source-positions-in-errors.md
@@ -0,0 +1,43 @@
+synopsis: Source locations are printed more consistently in errors
+issues: #561
+prs: #9555
+description: {
+
+Source location information is now included in error messages more
+consistently. Given this code:
+
+```nix
+let
+ attr = {foo = "bar";};
+ key = {};
+in
+ attr.${key}
+```
+
+Previously, Nix would show this unhelpful message when attempting to evaluate
+it:
+
+```
+error:
+ … while evaluating an attribute name
+
+ error: value is a set while a string was expected
+```
+
+Now, the error message displays where the problematic value was found:
+
+```
+error:
+ … while evaluating an attribute name
+
+ at bad.nix:4:11:
+
+ 3| key = {};
+ 4| in attr.${key}
+ | ^
+ 5|
+
+ error: value is a set while a string was expected
+```
+
+}