-
Notifications
You must be signed in to change notification settings - Fork 273
Extend support for binding expressions beyond quantifiers #6810
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
Conversation
Codecov ReportBase: 77.99% // Head: 77.99% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## develop #6810 +/- ##
========================================
Coverage 77.99% 77.99%
========================================
Files 1619 1619
Lines 187184 187189 +5
========================================
+ Hits 145999 146004 +5
Misses 41185 41185
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
It may be appropriate to consider what the code is doing when dealing with a binding -- my understanding is that all it does is disabling the caching of dereferenced expressions, right? |
Yes, because there's a risk of having to deal with bound variables that the code is not prepared to deal with. |
Note that there are also |
As identified in #6810, to_binding_expr could also cover array_comprehension expressions.
As identified in #6810, to_binding_expr could also cover array_comprehension expressions.
322d054
to
4a15cf0
Compare
I have now added a check for these when computing |
Symex special-cased some code for quantifiers when really all binding expressions have to be treated that way. To support this, add can_cast_expr<binding_exprt>, and make sure all subclasses of binding_exprt are covered by this cast.
4a15cf0
to
6f8a7b8
Compare
Symex special-cased some code for quantifiers when really all binding
expressions have to be treated that way. To support this, add
can_cast_expr<binding_exprt>, and make sure all subclasses of
binding_exprt are covered by this cast.