-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Nuke the clippy plugin interface #2783
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
Conversation
Hmm, this GitHub search reveals quite a few results where the plugin interface is used. Some popular users include:
Perhaps we should communicate this better (through the dev-tools news, maybe) before removing it? |
Indeed. Let's wait a while longer. Not actively using it:
PRs open to remove itIssues open for removing it |
Getting the word out via twir: https://twitter.com/elegmit/status/998178638234341377 |
Drat. I was looking forward to when clippy was available on stable channel so I could switch to the plugin API. I suppose I could do the same sort of thing I was hoping to avoid with my contributions to the request for a post-build script and set up a system where (The wrapper would first call Of course, then I'd also have to fork setuptools-rust to keep things working in some of my projects, which would be annoying. |
Well... even without this change we would not be stabilizing the plugin interface. What you can always do is just set the |
Ahh. That'd help. I haven't needed to use build scripts before so I'm uncertain how powerful they are. Are they capable of forcing the value of |
You want to force users of your library to use clippy? |
Only in the case of certain projects and, in all such cases, it being a library is an implementation detail of a single-repository, multi-language binary. For example, I have a project which is a Python-Rust hybrid creation where I'd do it purely in Rust as a binary, but there are no acceptably mature QWidget bindings for Rust, so I'm forced to resort to putting as much as possible in a Rust backend via rust-cpython, which makes no attempt to be reusable outside the Python code which glues it to Qt's Python bindings. (Naturally, I will eventually split the reusable bits out into their own non-clippy-forcing crates when I find time to work on my "GUI for divvying up a git repository's contents while verifying correct assignment of hunks in previous revisions" project.) |
Yea in that case I'd just resolve to the |
Do we want to do this before releasing Clippy 1.0? |
It seems all the linked issues have been resolved. The only thing left is to figure out how to make cargo not rebuild everything when going from cargo build to cargo clippy. I believe we need cargo support for this. |
yea, that makes sense |
I just tried this on a non-trivial project and it doubled my build time from 20 minutes to 40 minutes. I've been wanting a way to use clippy without having to also separately build but nothing seems to be working. It's nice to have clippy automatically run whenever I do a build so I don't have to remember it and fix clippy issues later. Any ideas on how we can keep build times reasonable without having to do multiple clippy steps? |
@tylerhawkes on nightly you can try |
@rustbot label -S-inactive-closed |
It's been
a month or so10 days since the plugin interface emits unsilencable warnings. I have not seen any complaints. I guess noone was using the plugin interface anymore.