rust-lang / rust-lang/rust-clippy

Do not match constants or literals

Open
#11,224 1 comment 1 reaction 1 assignee View on GitHub

@Centri3 is already working on this.

Since Jul 24, 2023.

A-lint L-suspicious
Dominant language
Rust
Stars
13.5k
Forks
2.2k
Avg merge
2d 10h
Merged PRs (30d)
32

Description

What it does

Checks if you're using match against a constant or a literal.

Advantage

There is no need to perform a match against a constant.

Drawbacks

Maybe it would raise false positives for compile-time constants.

Example
const FOO: i32 = 3;
let bar = match FOO {
    1 => "true",
    _ => "false",
};

or:

let bar = match 3 {
    1 => "true",
    _ => "false",
};

Could be written as:

let bar = "true"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.