Fixed false negatives around edges and added second phase of reporting #486
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.
Fixes #479.
This PR includes 2 changes:
\b
in/\b^a/
is useless,\b
has to know that there is a^
after it. The solution here is to (conceptually) reorder the assertions to/^\ba/
which allows\b
to "see"^
.However, assertion reordering also causes overreporting. E.g. Since both
$
s in/$$/
can see each other, both will be reported even though only one is actually useless. To fix this, reporting is done in 2 phases. In the first phase, we do everything just like we did before. In the second phase, we reorder while being careful not to reorder already reported assertions.