rust-lang / rust-lang/rust-clippy

Use guppy/seamare to implement lints against cargo package graphs

Open
#6,581 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

C-tracking-issue
Dominant language
Rust
Stars
13.5k
Forks
2.2k
Avg merge
2d 10h
Merged PRs (30d)
32

Description

Right now at work we're looking to setup a lint framework based on guppy that we can use to write lints like "make sure none of our direct dependencies have duplicate versions" (link). In the process of ironing out a design for this it became increasingly clear that this tool will probably be very similar to clippy in function and usage. This prompts the question if it makes sense to eventually move this logic into clippy itself.

The plan for now is to develop this tool in our repo, then once it's polished and working move it to its own organization and repo. My expectation is we'd want to operate like this for a while, see how much traction it gets and what not, and if it's successful we can really start having the conversation about whether or not we should merge it with clippy, re-export it, what have you.

I'll come back and update this with a more detailed proposal once we've got a working prototype of seamare.

cc @rust-lang/clippy

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.

Research direction

The issue proposes developing a prototype of a guppy/seamare-based lint framework in this repository, but it names no files, tests, or entry points. Start by reviewing the proposed design and existing Clippy structure; the issue does not yet define a concrete implementation scope or completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.