-
Notifications
You must be signed in to change notification settings - Fork 21
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
Remove Reconstruct_question_marks
phase and Question_mark
nodes from the AST
#567
Comments
This issue has been marked as stale due to a lack of activity for 60 days. If you believe this issue is still relevant, please provide an update or comment to keep it open. Otherwise, it will be closed in 7 days. |
This issue has been closed due to a lack of activity since being marked as stale. If you believe this issue is still relevant, please reopen it with an update or comment. |
Still relevant |
The proverif backend makes use of this phase and makes use of the Question_mark node. |
Resugaring question marks is not very useful, instead we prefer to treat them as "normal" early returns.
That simplifies a few things.
Also, in the context of a function that takes
&mut
inputs, question marks breaks for us. We rewrite a function&mut T -> Result<U, E>
asT -> (Result<U, E>, T)
. In this settings, question mark expressions are useless: we need to rewritee?
so that ife
isErr(e')
, then we return(s, e)
withs
the "state"U
. This cannot be captured with a question mark.Status
Question marks are used by the proverif backend.
But question marks are broken, as noted above: &mut inputs functions + question mark are broken.
So we need to remove the need of question marks from proverif.
The text was updated successfully, but these errors were encountered: