# Clippy
-[![Build Status](https://travis-ci.org/rust-lang/rust-clippy.svg?branch=master)](https://travis-ci.org/rust-lang/rust-clippy)
+[![Build Status](https://travis-ci.com/rust-lang/rust-clippy.svg?branch=master)](https://travis-ci.com/rust-lang/rust-clippy)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/id677xpw1dguo7iw?svg=true)](https://ci.appveyor.com/project/rust-lang-libs/rust-clippy)
[![Current Version](https://meritbadge.herokuapp.com/clippy)](https://crates.io/crates/clippy)
[![License: MIT/Apache-2.0](https://img.shields.io/crates/l/clippy.svg)](#license)
A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code.
-[There are 290 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
+[There are 292 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you:
```terminal
rustup component add clippy
```
+If it says that it can't find the `clippy` component, please run `rustup self update`.
-Now you can run Clippy by invoking `cargo clippy`.
+#### Step 3: Run Clippy
-If it says that it can't find the `clippy` subcommand, please run `rustup self update`
+Now you can run Clippy by invoking the following command:
+
+```terminal
+cargo clippy
+```
### Running Clippy from the command line without installing it
# etc.
```
-It might happen that clippy is not available for a certain nightly release.
-In this case you can try to conditionally install clippy from the git repo.
+It might happen that Clippy is not available for a certain nightly release.
+In this case you can try to conditionally install Clippy from the git repo.
```yaml
language: rust
Note: `deny` produces errors instead of warnings.
-Note: To use the new `clippy::lint_name` syntax, a recent compiler has to be used
-currently. If you want to compile your code with the stable toolchain you can use a `cfg_attr` to
-activate the `tool_lints` feature:
-```rust
-#![cfg_attr(feature = "cargo-clippy", allow(clippy::lint_name))]
-```
+If you do not want to include your lint levels in your code, you can globally enable/disable lints by passing extra flags to Clippy during the run: `cargo clippy -- -A clippy::lint_name` will run Clippy with `lint_name` disabled and `cargo clippy -- -W clippy::lint_name` will run it with that enabled. This also works with lint groups. For example you can run Clippy with warnings for all lints enabled: `cargo clippy -- -W clippy::pedantic`
-For this to work you have to use Clippy on the nightly toolchain: `cargo +nightly clippy`. If you
-want to use Clippy with the stable toolchain, you can stick to the old unscoped method to
-enable/disable Clippy lints until `tool_lints` are stable:
-```rust
-#![cfg_attr(feature = "cargo-clippy", allow(clippy_lint))]
-```
+## Contributing
-If you do not want to include your lint levels in your code, you can globally enable/disable lints by passing extra flags to clippy during the run: `cargo clippy -- -A lint_name` will run clippy with `lint_name` disabled and `cargo clippy -- -W lint_name` will run it with that enabled. On newer compilers you may need to use `clippy::lint_name` instead.
+If you want to contribute to Clippy, you can find more information in [CONTRIBUTING.md](https://github.com/rust-lang/rust-clippy/blob/master/CONTRIBUTING.md).
## License
-Copyright 2014-2018 The Rust Project Developers
+Copyright 2014-2019 The Rust Project Developers
Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
http://www.apache.org/licenses/LICENSE-2.0> or the MIT license