fix "there exists"/"such that" not followed by a var name #538
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.
Should unblock tc39/ecma262#3102.
Concretely, the problem was that the variable def-use lint treats
there exists [...] _X_
as declaring_X_
, which is true for uses likethere exists an integer _X_ such that
orthere exists an element _A_ of _B_
, but not forthere exists a value in _X_
, which is the form in used in the relevant line in the PR.Specifically, the line in 262 is
If there exists a CharSetElement in _A_ containing exactly one character _a_ such that [...]
, which should use_A_
but declare_a_
; prior to this PR it was treating both as declarations.The linter wasn't tripping earlier because a separate issue in ecma262 (introduced in tc39/ecma262#2418 and fixed in tc39/ecma262#3102) caused
_A_
not to be captured, which basically canceled out the bug here.