about summary refs log tree commit diff
path: root/src/tools/clippy/.github/ISSUE_TEMPLATE/new_lint.yml
blob: 6ad16aead601dd8b19eca9367c6861cb1b5b647c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: New lint suggestion
description: Suggest a new Clippy lint.
labels: ["A-lint"]
body:
  - type: markdown
    attributes:
      value: Thank you for your lint idea!
  - type: textarea
    id: what
    attributes:
      label: What it does
      description: What does this lint do?
    validations:
      required: true
  - type: textarea
    id: advantage
    attributes:
      label: Advantage
      description: >
        What is the advantage of the recommended code over the original code?
      placeholder: |
        - Remove bounds check inserted by ...
        - Remove the need to duplicate/store ...
        - Remove typo ...
  - type: textarea
    id: drawbacks
    attributes:
      label: Drawbacks
      description: What might be possible drawbacks of such a lint?
  - type: textarea
    id: example
    attributes:
      label: Example
      description: >
        Include a short example showing when the lint should trigger together
        with the improved code.
      value: |
        ```rust
        <code>
        ```

        Could be written as:

        ```rust
        <code>
        ```
    validations:
      required: true
  - type: textarea
    id: comparison
    attributes:
      label: Comparison with existing lints
      description: |
        What makes this lint different from any existing lints that are similar, and how are those differences useful?

        You can [use this playground template to see what existing lints are triggered by the bad code][playground]
        (make sure to use "Tools > Clippy" and not "Build").
        You can also look through the list of [rustc's allowed-by-default lints][allowed-by-default],
        as those won't show up in the playground above.

        [allowed-by-default]: https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html

        [playground]: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&code=%23%21%5Bwarn%28clippy%3A%3Apedantic%29%5D%0A%23%21%5Bwarn%28clippy%3A%3Anursery%29%5D%0A%23%21%5Bwarn%28clippy%3A%3Arestriction%29%5D%0A%23%21%5Bwarn%28clippy%3A%3Aall%29%5D%0A%23%21%5Ballow%28clippy%3A%3Ablanket_clippy_restriction_lints%2C+reason+%3D+%22testing+to+see+if+any+restriction+lints+match+given+code%22%29%5D%0A%0A%2F%2F%21+Template+that+can+be+used+to+see+what+clippy+lints+a+given+piece+of+code+would+trigger
      placeholder: Unlike `clippy::...`, the proposed lint would...
  - type: textarea
    id: context
    attributes:
      label: Additional Context
      description: Any additional context that you believe may be relevant.