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,30 @@ 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 it 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. Fixing build failures caused by Rust updates, can be a good way to learn about Rust internals.
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
+
To check if Clippy is available for a specific target platform, you can check
215
+
the [rustup component history][rustup_component_history].
216
+
217
+
If you decide to make Clippy work again with a Rust commit that breaks it,
218
+
you probably want to install the latest Rust from master locally and run Clippy
219
+
using that version of Rust.
220
+
221
+
You can use [rustup-toolchain-install-master][rtim] to do that:
222
+
223
+
```
224
+
cargo install rustup-toolchain-install-master
225
+
rustup-toolchain-install-master -n master --force
226
+
rustup override set master
227
+
cargo test
228
+
```
215
229
216
230
## Contributions
217
231
@@ -235,3 +249,5 @@ All code in this repository is under the [Mozilla Public License, 2.0](https://w
0 commit comments