Better fix for bogus duplicate identifier in module exports #24491
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.
The only situation the checker-based duplicate identifier check should fire is a conflict between a class type and a typedef type. The check works by starting from a class type and trying to resolve the class's name. Now, if a symbol with that name is found, the error is only logged if the resolved symbol is a typedef.
This avoids bogus self-duplicates in a more robust way than the previous fix, because
===
is not a good test for equality of symbols — symbols might be merged or part of a special JS assignment, or both.Fixes #24024 and #24062