d00edfb28d
Turns errors like: let errpkg = throw "invalid foobar"; in errpkg.meta error: … while calling the 'throw' builtin at «string»:2:12: 1| let 2| errpkg = throw "invalid foobar"; | ^ 3| in errpkg.meta error: invalid foobar into errors like: let errpkg = throw "invalid foobar"; in errpkg.meta error: … while evaluating 'errpkg' to select 'meta' on it at «string»:3:4: 2| errpkg = throw "invalid foobar"; 3| in errpkg.meta | ^ … while calling the 'throw' builtin at «string»:2:12: 1| let 2| errpkg = throw "invalid foobar"; | ^ 3| in errpkg.meta error: invalid foobar For the low price of one try/catch, you too can have the incorrect line of code actually show up in the trace! Change-Id: If8d6200ec1567706669d405c34adcd7e2d2cd29d
18 lines
586 B
Text
18 lines
586 B
Text
error:
|
|
… while evaluating 'a' to select 'foo' on it
|
|
at /pwd/lang/eval-fail-recursion.nix:1:21:
|
|
1| let a = {} // a; in a.foo
|
|
| ^
|
|
2|
|
|
|
|
… in the right operand of the update (//) operator
|
|
at /pwd/lang/eval-fail-recursion.nix:1:12:
|
|
1| let a = {} // a; in a.foo
|
|
| ^
|
|
2|
|
|
|
|
error: infinite recursion encountered
|
|
at /pwd/lang/eval-fail-recursion.nix:1:15:
|
|
1| let a = {} // a; in a.foo
|
|
| ^
|
|
2|
|