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.
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.