-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reduce decls Debug noise #187
Conversation
In my personal opinion, I prefer the original output format. The major benefit of the original format is that I can easily definitively map each field output to the name of the field without further knowledge of how each field is displayed, thanks to the list of field outputs having a fixed length on the top level. That being said, I don't have a problem with skipping fields that are empty containers, as long as the name of the fields that are non-empty get displayed in the output. In addition, if the verbosity of the debug output of |
Can you give me an example of an issue you had where it was helpful to see specifically which field in |
Here is one example that immediately comes to my mind:
In this example, there are two fields that both start with the prefix |
That's fair, so with this PR the output would look like
and you're issue was that it wasn't clear you needed to call eg I'll try a slightly more verbose output, thanks for the feedback. |
as a general question: should we mention the decls at all in the proof trace? I am not that happy about using |
@lcnr the decls should only have to be output once in the trace of a proof, because they shouldn't change. So I guess we could just print them in some top-level function like |
yeah, exactly 👍 |
0e28bda
to
e656f18
Compare
Decls debug rendering is a bit noisy, especially since decls does not change, but is printed for every step that failed. With this change, decls is only printed in the `prove` judgement, with the expectation that this is the main entrypoint for proofs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removing decls feels ncie. This now adds an additional level of indentation 🤔 I still think that's a fairly nice improvement
@@ -53,7 +54,20 @@ pub fn prove( | |||
|
|||
assert!(env.encloses(term_in)); | |||
|
|||
let result_set = prove_wc_list(decls, &env, assumptions, goal); | |||
struct ProveFailureLabel(String); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: is it even worth including the "decls" here? I'm inclined to think "not really".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's nice to see it at least once in proof trace on failure.
Decls debug rendering is a bit noisy, especially since decls does not
change, but is printed for every step that failed. With this change,
decls is only printed in the
prove
judgement, with the expectation thatthis is the main entrypoint for proofs.