- [Setup](#setup)
- [Getting Started](#getting-started)
- [Testing](#testing)
+ - [Cargo lints](#cargo-lints)
- [Rustfix tests](#rustfix-tests)
- [Edition 2018 tests](#edition-2018-tests)
- [Testing manually](#testing-manually)
```rust
declare_clippy_lint! {
- /// **What it does:**
+ /// ### What it does
///
- /// **Why is this bad?**
- ///
- /// **Known problems:** None.
- ///
- /// **Example:**
+ /// ### Why is this bad?
///
+ /// ### Example
/// ```rust
/// // example code
/// ```
```rust
declare_clippy_lint! {
- /// **What it does:** Checks for ... (describe what the lint matches).
+ /// ### What it does
+ /// Checks for ... (describe what the lint matches).
///
- /// **Why is this bad?** Supply the reason for linting the code.
+ /// ### Why is this bad?
+ /// Supply the reason for linting the code.
///
- /// **Known problems:** None. (Or describe where it could go wrong.)
- ///
- /// **Example:**
+ /// ### Example
///
/// ```rust,ignore
/// // Bad
behavior that can be seen as a false positive for some users. Adding a configuration is done
in the following steps:
-1. Adding a new configuration entry to [clippy_utils::conf](/clippy_utils/src/conf.rs)
+1. Adding a new configuration entry to [clippy_lints::utils::conf](/clippy_lints/src/utils/conf.rs)
like this:
```rust
- /// Lint: LINT_NAME. <The configuration field doc comment>
+ /// Lint: LINT_NAME.
+ ///
+ /// <The configuration field doc comment>
(configuration_ident: Type = DefaultValue),
```
- The configuration value and identifier should usually be the same. The doc comment will be
- automatically added to the lint documentation.
+ The doc comment will be automatically added to the lint documentation.
2. Adding the configuration value to the lint impl struct:
1. This first requires the definition of a lint impl struct. Lint impl structs are usually
generated with the `declare_lint_pass!` macro. This struct needs to be defined manually