-
Notifications
You must be signed in to change notification settings - Fork 269
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
Field sensitivity: also rewrite byte extract to type casts #7739
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #7739 +/- ##
===========================================
- Coverage 78.55% 78.45% -0.10%
===========================================
Files 1691 1691
Lines 193125 193132 +7
===========================================
- Hits 151712 151528 -184
- Misses 41413 41604 +191
☔ View full report in Codecov by Sentry. |
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.
It would be great to have a test for this.
a939baf
to
9e07a87
Compare
Done. |
-- | ||
^\(\d+\) guard#\d+ == .*byte_extract | ||
-- | ||
Confirms that field sensitivity can resolve pointer byte extracts to type cats. |
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.
🐈s -> casts
With model-checking/kani#2456 we see examples where a pointer of a different type is byte-extracted from a union. This is caused by Rust's niche placement. `get_subexpression_at_offset` already catered for that, but we didn't use it in field expansion.
9e07a87
to
003b7c7
Compare
With model-checking/kani#2456 we see examples where a pointer of a different type is byte-extracted from a union. This is caused by Rust's niche placement.
get_subexpression_at_offset
already catered for that, but we didn't use it in field expansion.