tweag / nickel

Better configuration for less
https://nickel-lang.org/
MIT License
2.23k stars 85 forks source link

Include field path in non serializable error #1905

Closed yannham closed 2 months ago

yannham commented 2 months ago

Related #1460.

When failing to serialize a function which hasn't been properly applied (applied to too few arguments), the error often points to a unusable location: it is most often the definition site of the function, which doesn't help in finding the usage site that is at fault. This happens in particular with contracts, and the error is even more surprising there, because the user didn't really put a function somewhere in their config (see #1460).

This commit enriches the error message of non-serializable errors with a path, à la JSON pointer (such that it also integrates array indices), whenever possible. This should make debugging non serializable error much nicer.