fix(ssa refactor): Ignore array out of bounds errors when enable_side_effects is false #1797
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem*
When
enable_side_effects
is false, we are meant to be in a false branch of anif
that was not taken, so we should ignore side effects causing the program to fail, such as array out of bounds errors. I've added a check for this to only panic for array index of out of bounds errors if enable side effects is not known to be false.This fixes the bug in #1629
but means the issue will still appear if theI've changed the logic to only panic ifif
uses a witness as its condition, as it would not be known to be false.enable_side_effects
is known to be true rather than not known to be false.Resolves #1629
Summary*
Documentation
This PR requires documentation updates when merged.
Additional Context
PR Checklist*
cargo fmt
on default settings.