Don't drop actions depending on shrunk predecessors. #453
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.
Closes #448. Suppose we have an Action list
Then when we shrink A, we would previously get the list
And then we'd drop B from this list, because
Var 0
no longer exists.Now shrinking will give
which is fine.
This means we now generate Vars even for actions whose
Require
fails.I don't know if this is the ideal way to fix this. I wonder whether, when shrinking, the context should be rolled back so that the output we previously generated is no longer present? But I wouldn't know how to change that, and I'd be much less confident of not breaking anything else if I did.