-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Metadata collection monster eating deprecated lints #7197
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
Metadata collection monster eating deprecated lints #7197
Conversation
|
It's 'deprecated'; not 'depreciated'. We're talking APIs not financial statements. |
|
Ups, I'll update the PR later today. Thank you 😅 |
0fddc6d to
d849e95
Compare
|
I've fixed the wrong vocab usage in the main commit itself. I don't think it was worth it to add a new one 🙃 |
97ee471 to
d7a532c
Compare
|
It seems like I'll need to update |
flip1995
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, now that I see the effect of this, I think having a more detailed documentation in addition to the reason displayed in the error message is a better approach. Otherwise we would dump a multi line error message if someone uses a deprecated lint.
Before you start working on clippy_dev, just revert this to the version you had before my silly idea and lets revisit this later. Sorry about that!
|
Yes, I had the same gut feeling during the implementation. Documenting deprecated lints in their own module makes them more approachable to newcomers as well due to the reduced scope, IMO. Anyways, This implementation will be kept in a backup branch in case we need it at a later point in time. I'll remove the commits from this branch. Was there anything else I should update in the original implementation? |
Nope, the original implementation looked good. |
d7a532c to
4a1da74
Compare
Co-authored-by: Philipp Krones <[email protected]>
4a1da74 to
a988a90
Compare
|
Okay, I've removed the commits to collect the deprecation reasoning from |
|
@bors r+ Thanks! (And sorry for the back and forth) |
|
📌 Commit a988a90 has been approved by |
|
No worries 🙃, and thanks for the quick review cycle. I'll create the configuration collection PR later today and that should be it when it comes to the new collection itself. The next step it then to adapt the CI and website. I'm also looking forward to work into a new topic after that xD |
|
☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test |
This adds the collection of deprecated lints to the metadata collection monster. The JSON output has the same structure with the new lint group "DEPRECATED". Here is one of fourteen examples it was able to dig up in Clippy's code:
{ "id": "assign_op_pattern", "id_span": { "path": "src/assign_ops.rs", "line": 34 }, "group": "clippy::style", "docs": " **What it does:** Checks for `a = a op b` or `a = b commutative_op a` patterns.\n\n **Why is this bad?** These can be written as the shorter `a op= b`.\n\n **Known problems:** While forbidden by the spec, `OpAssign` traits may have\n implementations that differ from the regular `Op` impl.\n\n **Example:**\n ```rust\n let mut a = 5;\n let b = 0;\n // ...\n // Bad\n a = a + b;\n\n // Good\n a += b;\n ```\n", "applicability": { "is_multi_part_suggestion": false, "applicability": "MachineApplicable" } }And you! Yes you! Sir or Madam can get all of this for free in Clippy if this PR gets merged. (Sorry for the silliness ^^)
See: #7172 for the full metadata collection to-do list or to suggest a new feature in connection to it 🙃
changelog: none
r? @flip1995