eldritch horrors
2ba9788003
Pass positions when evaluating
(cherry picked from commit c8458bd731eb1c74159bebe459ea00165e056b65)
Change-Id: I1b4a5d58973be6264ffdb23b4492da200fdb71be
44 lines
800 B
Markdown
44 lines
800 B
Markdown
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
|
|
```
|
|
|
|
}
|