Reviewer et contributeur sur le langage Rust.
Membre de :
rustdoc (team leader)
docs.rs
dev-tools
clippy-contributors
Je suis un ingénieur chez Huawei.
## Qu'est-ce qu'un linter ?
## Comment un linter Rust fonctionne ?
## Pourquoi a-t-il besoin d'être une extension du compilateur de Rust ?
## Limitations
* Fonctionne seulement sur les crates compiléees avec la même version de rustc
* L'API de rustc API n'est pas stable
* Lié à une version spécifique de rustc
* Difficile à wrapper dans une commande cargo
## Les passes du compilateur (version simplifiée)
* AST
* HIR
* MIR
* Codegen
## Les "passes" de lints
Early vs Late
## `rustc-tools`
Fournit de l'aide pour mettre en place des lints et faciliter les intégrations dans cargo (entre autres choses...)
```toml
[dependencies]
rustc-tools = "0.3"
```
## Mise en place
`rust-toolchain`
```toml
[toolchain]
channel = "nightly-2023-10-06"
components = ["rustc-dev", "rustfmt", "llvm-tools-preview"]
```