I am using stable version of rustc 1.15.1. I have a project that I have been working on for quite a while, and it compiled fine before (always with a stable rust compiler). Somehow I cleared Cargo.lock for my project today. So when I run 'cargo build', it tries to update registry, and recompiles all the dependencies. I got an error like this:
error[E0554]: #[feature] may not be used on the stable release channel
--> /Users/qinsoon/.cargo/registry/src/github.com-1ecc6299db9ec823/clippy_lints-0.0.112/src/lib.rs:3:1
|
3 | #![feature(box_syntax)]
| ^^^^^^^^^^^^^^^^^^^^^^^
I do not have any dependency on clippy directly in my project. However, I suspect some crates I use may depend on clippy. I tried to use cargo list to show all the dependencies of my project (including transitive dependencies), and I didn't find clippy there as well.
As building my project always tries to compile clippy v0.0.112 (v0.0.114 is the lastest version), I am pretty sure somehow my project depends on clippy. (I have tried to delete and reinstall cargo, including its cache and registry for dependencies. I have pulled my project from repo, and build freshly -- still failing)
I am wondering:
since compiling clippy should always require a nightly compiler, how is it possible that my project can compile before? The possible answer is that
do I have to switch to beta/nightly compiler for dependency on clippy?
You should consider filing an issue on the doubly project's GitHub page and ask them to please consider making clippy optional per the page I linked above.