-
Notifications
You must be signed in to change notification settings - Fork 659
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
Dynamic array index assignment #1007
Conversation
bb2ac10
to
dc91b07
Compare
Codecov Report
@@ Coverage Diff @@
## master #1007 +/- ##
==========================================
- Coverage 75.35% 75.35% -0.01%
==========================================
Files 435 438 +3
Lines 17567 17586 +19
==========================================
+ Hits 13238 13252 +14
- Misses 4329 4334 +5
Continue to review full report at Codecov.
|
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.
Looks good. Solves the issue.
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.
Looks good. Is the proof invalid issue brought up by @damirka solved by the later 'bound check' commit?
No, we confirmed that the case of indexing directly on input is fine, but the ternary causes proof failure and I haven't figured out why. |
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.
Thank you for implementing @Protryon
The new assignee resolver looks great and is leaps and bounds better than the previous approach.
Codecov is detecting a lot of uncovered lines in array_index.rs and array_range_index.rs does this PR have tests to address all cases in those methods?
This PR adds input-indexed array assignment. It covers all arrays and indirect usage of arrays (i.e.
myArray[i].1 = X
). It does NOT cover input-indexed slice assignment (should be done in another PR).