lix/doc/manual/rl-next/source-positions-in-errors.md
eldritch horrors 87e6ac5eb7 Merge pull request #9753 from 9999years/print-value-on-type-error
Print the value in `value is X while a Y is expected` error

(cherry picked from commit 5f72a97092da6af28a7d2b2a50d74e9d34fae7e1)
Change-Id: Idb4bc903ae59a0f5b6fb3b1da4d47970fe0a6efe
2024-03-09 00:05:41 -07:00

784 B

synopsis issues prs
Source locations are printed more consistently in errors 561 9555

Source location information is now included in error messages more consistently. Given this code:

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: { }