aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/rl-next/source-positions-in-errors.md
blob: a9de87f28fc7e581d9ef0dc280542ad2bb3532ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
---
synopsis: Source locations are printed more consistently in errors
issues: 561
prs: 9555
credits: [9999years, horrors]
category: Improvements
---

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: expected a string but found a set: { }
```