2023-12-09 20:51:20 +02:00
|
|
|
---
|
2023-12-07 20:01:42 +02:00
|
|
|
synopsis: Source locations are printed more consistently in errors
|
2023-12-09 20:51:20 +02:00
|
|
|
issues: 561
|
|
|
|
prs: 9555
|
|
|
|
---
|
2023-12-07 20:01:42 +02:00
|
|
|
|
|
|
|
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|
|
|
|
|
|
2023-12-07 02:03:01 +02:00
|
|
|
error: expected a string but found a set
|
2023-12-07 20:01:42 +02:00
|
|
|
```
|