-
Notifications
You must be signed in to change notification settings - Fork 1
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
Collect postconditions for async fns #53
base: rewrite-2023
Are you sure you want to change the base?
Conversation
Do you have anything I can read about the semantics of your |
Sure, this special handling of postconditions on asynchronous functions is due to their lowering to futures. Specifically, all functions declared as async are transformed to a type implementing the This lowering happens in two stages: First, in the analysis MIR (where prusti operates), the This has a couple of consequences regarding Furthermore, the spec-item's arguments (and thus typing inside the postcondition) match those of the original Finally, notice that due to the different lowering stages, we will need two This draft simply serves to illustrate a possible way of distinguishing synchronous and asynchronous postconditions and making sure they are attached to the right methods. I hope that helps, just let me know if I can elaborate on something. |
…ow) in ProcedureSpecification
Create two specification functions for postconditions on async fn (one for the poll implementation and a wrapped one for the poll call stub) and collect them into the spec-graph.