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
Implement lint against unexpected unary precedence #121364
Open
Urgau
wants to merge
2
commits into
rust-lang:master
Choose a base branch
from
Urgau:unary_precedence
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+285
−153
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rustbot
added
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
Feb 20, 2024
Some changes occurred in src/tools/clippy cc @rust-lang/clippy |
rustbot
added
the
I-lang-nominated
The issue / PR has been nominated for discussion during a lang team meeting.
label
Feb 20, 2024
This comment has been minimized.
This comment has been minimized.
Urgau
force-pushed
the
unary_precedence
branch
from
February 20, 2024 22:38
176a44a
to
144d1bb
Compare
☔ The latest upstream changes (presumably #120393) made this pull request unmergeable. Please resolve the merge conflicts. |
rustbot
removed
the
I-lang-nominated
The issue / PR has been nominated for discussion during a lang team meeting.
label
Mar 6, 2024
rustbot
added
the
I-lang-nominated
The issue / PR has been nominated for discussion during a lang team meeting.
label
Mar 20, 2024
I'm (unsurprisingly) a fan of having a lint like this. For triage discussion: do we want it called |
apiraino
added
S-waiting-on-team
Status: Awaiting decision from the relevant subteam (see the T-<team> label).
S-blocked
Status: Marked as blocked ❌ on something else such as an RFC or other implementation work.
and removed
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Apr 25, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
I-lang-nominated
The issue / PR has been nominated for discussion during a lang team meeting.
S-blocked
Status: Marked as blocked ❌ on something else such as an RFC or other implementation work.
S-waiting-on-team
Status: Awaiting decision from the relevant subteam (see the T-<team> label).
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
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.
This PR implements a lint against unexpected unary precedence with a literal and method calls.
ambiguous_unary_precedence
(deny-by-default)
The
ambiguous_unary_precedence
lint checks for use the negative unary operator with a literal and method calls.Example
Explanation
Unary operations take precedence on binary operations and method calls take precedence over unary precedence. Setting the precedence explicitly makes the code clearer and avoid potential bugs.
Note: This is a strip down version of #117161, without the binary op precedence.
Fixes #117155
@rustbot labels +I-lang-nominated
cc @scottmcm
r? compiler