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

Add lint to check manual pattern char comparison #12849

Merged
merged 1 commit into from
Jun 11, 2024

Conversation

AurelienFT
Copy link
Contributor

@AurelienFT AurelienFT commented May 25, 2024

This PR adds a new lint asked in #12490

This lint catches manual char comparison in pattern of string functions and propose to use char or array of char instead.

As it's my first contribution i'm not feeling very safe about not matching too much or missing some cases.

Thanks in advance for taking time to review and propose feedback !

changelog: new lint [manual_pattern_char_comparison]

@rustbot
Copy link
Collaborator

rustbot commented May 25, 2024

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Alexendoo (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties label May 25, 2024
@AurelienFT AurelienFT requested a review from Alexendoo May 26, 2024 18:54
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_utils/src/str_utils.rs Outdated Show resolved Hide resolved
@AurelienFT AurelienFT requested a review from Alexendoo May 28, 2024 09:34
@AurelienFT
Copy link
Contributor Author

AurelienFT commented May 28, 2024

I have applied all the suggestions. Thank you for the very deep explanations as a first contributor it's very appreciable. I learnt a lot of things in Clippy and it motivate me to continue to contribute !

@AurelienFT
Copy link
Contributor Author

@Alexendoo thank you for the heart, that's kind ! If there anything I need to do for this PR or I need to wait ? I don't want to be rude, it's because I'm not very familiar with the process so I prefer to ask

@Alexendoo
Copy link
Member

I plan to do another read through of it soon, then after that I'll create a final comment period thread on Zulip for others to weigh in

clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
@Alexendoo Alexendoo added S-final-comment-period Status: final comment period it will be merged unless new objections are raised (~1 week) and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties labels Jun 2, 2024
@Alexendoo
Copy link
Member

@bors
Copy link
Collaborator

bors commented Jun 3, 2024

☔ The latest upstream changes (presumably #12815) made this pull request unmergeable. Please resolve the merge conflicts.

@AurelienFT AurelienFT force-pushed the manual-char-comparison-pattern branch from 06aae81 to 9939549 Compare June 5, 2024 09:56
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
clippy_lints/src/string_patterns.rs Outdated Show resolved Hide resolved
@AurelienFT
Copy link
Contributor Author

I addressed all the comments.

Furthermore I saw that last time I forget to push modification on function get_char_span that reduce the code to less than 10 lines thanks to your ideas @Alexendoo.

Everything should be fine now

@AurelienFT AurelienFT force-pushed the manual-char-comparison-pattern branch from 48f9915 to 6dbcf14 Compare June 7, 2024 19:50
@bors
Copy link
Collaborator

bors commented Jun 11, 2024

☔ The latest upstream changes (presumably #12915) made this pull request unmergeable. Please resolve the merge conflicts.

@AurelienFT AurelienFT force-pushed the manual-char-comparison-pattern branch from 6dbcf14 to 73adcce Compare June 11, 2024 13:29
@Alexendoo
Copy link
Member

If you could squash the commits I think this is ready to merge, the FCP has been running long enough without issue

@rustbot rustbot added has-merge-commits PR has merge commits, merge with caution. S-waiting-on-author Status: This is awaiting some action from the author. (Use `@rustbot ready` to update this status) labels Jun 11, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jun 11, 2024

There are merge commits (commits with multiple parents) in your changes. We have a no merge policy so these commits will need to be removed for this pull request to be merged.

You can start a rebase with the following commands:

$ # rebase
$ git pull --rebase https://github.com/rust-lang/rust-clippy.git master
$ git push --force-with-lease

The following commits are merge commits:

@AurelienFT AurelienFT force-pushed the manual-char-comparison-pattern branch from c658805 to c86b19f Compare June 11, 2024 19:56
@rustbot rustbot removed has-merge-commits PR has merge commits, merge with caution. S-waiting-on-author Status: This is awaiting some action from the author. (Use `@rustbot ready` to update this status) labels Jun 11, 2024
@AurelienFT
Copy link
Contributor Author

@Alexendoo Seems ok to me. (I'm not very confident with my git skills 😆 )

@Alexendoo
Copy link
Member

Yep, looks great thanks!

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 11, 2024

📌 Commit c86b19f has been approved by Alexendoo

It is now in the queue for this repository.

@bors
Copy link
Collaborator

bors commented Jun 11, 2024

⌛ Testing commit c86b19f with merge 6f1b05b...

bors added a commit that referenced this pull request Jun 11, 2024
…lexendoo

Add lint to check manual pattern char comparison

This PR adds a new lint asked in #12490

This lint catches manual char comparison in pattern of string functions and propose to use `char` or array of `char` instead.

As it's my first contribution i'm not feeling very safe about not matching too much or missing some cases.

Thanks in advance for taking time to review and propose feedback !
@bors
Copy link
Collaborator

bors commented Jun 11, 2024

💔 Test failed - checks-action_test

@Alexendoo
Copy link
Member

@bors retry

@bors
Copy link
Collaborator

bors commented Jun 11, 2024

⌛ Testing commit c86b19f with merge 740b72e...

@bors
Copy link
Collaborator

bors commented Jun 11, 2024

☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test
Approved by: Alexendoo
Pushing 740b72e to master...

@AurelienFT
Copy link
Contributor Author

@Alexendoo I want to make you a special thanks for being so nice an pedagogy for this PR, loved it. You are really kind !

@Alexendoo
Copy link
Member

Thank you! Congrats on the first contribution

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-final-comment-period Status: final comment period it will be merged unless new objections are raised (~1 week)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants