1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 06:31:14 +02:00

Print value on type error

Adds the failing value to `value is <TYPE> while a <TYPE> is expected`
error messages.
This commit is contained in:
Rebecca Turner 2023-12-06 16:03:01 -08:00
parent b74ec56da9
commit cb7fbd4d83
No known key found for this signature in database
19 changed files with 227 additions and 136 deletions

View file

@ -0,0 +1,23 @@
---
synopsis: Type errors include the failing value
issues: #561
prs: #9753
---
In errors like `value is an integer while a list was expected`, the message now
includes the failing value.
Before:
```
error: value is a set while a string was expected
```
After:
```
error: expected a string but found a set: { ghc810 = «thunk»;
ghc8102Binary = «thunk»; ghc8107 = «thunk»; ghc8107Binary = «thunk»;
ghc865Binary = «thunk»; ghc90 = «thunk»; ghc902 = «thunk»; ghc92 = «thunk»;
ghc924Binary = «thunk»; ghc925 = «thunk»; «17 attributes elided»}
```

View file

@ -38,5 +38,5 @@ error:
| ^
5|
error: value is a set while a string was expected
error: expected a string but found a set
```

View file

@ -8,7 +8,7 @@ prs: 9658
Previously an incorrect `with` expression would report no position at all, making it hard to determine where the error originated:
```
nix-repl> with 1; a
nix-repl> with 1; a
error:
<borked>
@ -27,5 +27,5 @@ error:
1| with 1; a
| ^
error: value is an integer while a set was expected
error: expected a set but found an integer
```