-
Notifications
You must be signed in to change notification settings - Fork 78
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
add better syntax for external_fn_specification #1368
Conversation
if this syntax seems fine, i will port all the instances in vstd/std_specs and change all the error msgs and update docs etc. |
I like the new syntax. Let me know if you need help with adding it to verusfmt. |
@jaybosamiya-ms Indeed, if you add this to verusfmt, it would be a big help. |
e955213
to
ea2bd82
Compare
This PR adds support for the upcoming `assume_specification` (verus-lang/verus#1368) syntax in Verus.
Thanks for adding the cleaner syntax and for adding documentation! I notice that the new documentation lives under the "Reference" section at the end. Could we add at least a small pointer to it in the "Tutorial: Verification and Rust" section, possibly either as a top-level (short) chapter, or as a page under "Understanding the guarantees of a verified program"? The "Verification and Rust" section seems like the most likely spot for someone to look for this functionality, and I'm not sure they would immediately think to look under " |
This PR adds support for the upcoming `assume_specification` (verus-lang/verus#1368) syntax in Verus.
Latest release of verusfmt (v0.5.1) contains support for |
Tyvm! Bryan: I will add a bit more introductory documentation like you suggest. |
… the chance of name collisions which lead to confusing diagnostics
2be41dc
to
445004c
Compare
external_fn_specification is ugly and hard to read. This adds better syntax
examples:
For trait methods:
The brackets make it easier to parse.