You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -202,16 +202,29 @@ The difference between `EarlyLintPass` and `LateLintPass` is that the methods of
202
202
203
203
That's why the `else_if_without_else` example uses the `register_early_lint_pass` function. Because the [actual lint logic][else_if_without_else] does not depend on any type information.
204
204
205
-
### Fixing nightly build failures
205
+
### Fixing build failures caused by Rust
206
206
207
-
Clippy will sometimes break with new nightly version releases. This is expected because Clippy still depends on nightly Rust. Most of the times we have to adapt to the changes and only very rarely there's an actual bug in rust.
207
+
Clippy will sometimes break because Clippy still depends on unstable internal Rust features. Most of the times we have to adapt to the changes and only very rarely there's an actual bug in rust.
208
208
209
-
In order to find out why Clippy does not work properly with a new nightly version, you can use the [rust-toolstate commit history][toolstate_commit_history].
209
+
In order to find out why Clippy does not work properly with a new Rust commit, you can use the [rust-toolstate commit history][toolstate_commit_history].
210
210
You will then have to look for the last commit that contains `test-pass -> build-fail` or `test-pass` -> `test-fail` for the `clippy-driver` component. [Here][toolstate_commit] is an example.
211
211
212
212
The commit message contains a link to the PR. The PRs are usually small enough to discover the breaking API change and if they are bigger, they likely include some discussion that may help you to fix Clippy.
213
213
214
-
Fixing nightly build failures is also a good way to learn about actual rustc internals.
214
+
Fixing build failures caused by rustc changes is also a good way to learn about actual rustc internals.
215
+
216
+
If you decide to make Clippy work again with a Rust commit that breaks Clippy,
217
+
you probably want to install the latest Rust from master locally and run Clippy
218
+
using that version of Rust.
219
+
220
+
You can use [rustup-toolchain-install-master][rtim] to do that:
221
+
222
+
```
223
+
cargo install rustup-toolchain-install-master
224
+
rustup-toolchain-install-master -n master --force
225
+
rustup override set master
226
+
cargo test
227
+
```
215
228
216
229
## Contributions
217
230
@@ -235,3 +248,4 @@ All code in this repository is under the [Mozilla Public License, 2.0](https://w
0 commit comments