Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(fe): add warning for 'x==y;' statement #1219

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

CoderMuffin
Copy link
Contributor

@CoderMuffin CoderMuffin commented Apr 28, 2024

fixes #1132

Add a new diagnostic E0459 that warns on statements that are expressions and the first operator is either ==, ===, != or !==.

While adding this I had to change several tests (especially ones relating to redundant string case checks) from test_parse_and_visit_statement to test_parse_and_visit_expression, as they were causing false positives. The changes should not affect the tests in any way.

Also, I was thinking that maybe this could be widened (or a second diagnostic could be introduced) for statements that are completely redundant (e.g. x+y;)? If this is implemented expressions that can have side effects like x(), x.a() or x() ? y : z will have to be checked for, as warning on these could advise removal that would incorrectly affect program flow. I would think false positives could also be quite likely.

@CoderMuffin
Copy link
Contributor Author

Not sure what to do regarding the failing docs check on E0343 and E0342, is there any way to declare that the new E0459 should also be triggered here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

12$: warn on 'x == y;' statement
1 participant