linebender / linebender/parley

Add the linebender lint set

Open
#108 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue
Dominant language
Rust
Stars
736
Forks
120
Avg merge
1d 3h
Merged PRs (30d)
53

Description

We should add a standardized set of rustc lints and clippy lints to all our projects. If we raise MSRV to 1.74, we can add them directly to `Cargo.toml`.

See [zulip discussion](https://xi.zulipchat.com/#narrow/stream/419691-linebender/topic/Standard.20Lint.20set) for what our lint set should be. See https://github.com/linebender/peniko/pull/47/ for our current lint set.

Aside from the `Cargo.toml` lints, we should also add the following annotation to our crate root:

```
#![warn(clippy::print_stdout, clippy::print_stderr, clippy::dbg_macro)]
```

(We don't want a workspace-level lints for those because we want to tolerate prints in tests and examples.)

See [this zulip thread](https://xi.zulipchat.com/#narrow/stream/419691-linebender/topic/Standard.20Lint.20set) for details.

We should add the following annotation at the crate roots:

We should also remove leftover prints, if any, or give them an opt-out.

Contributor guide

No contributing guide indexed for this repository

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

Inspect each project's Cargo.toml and crate root, using the peniko pull request and linked Zulip discussion to identify the standardized rustc and Clippy lint set. Check for leftover prints across the projects and determine where an opt-out is needed. Done means every project has the agreed Cargo.toml lints, the crate-root annotations, and no unhandled leftover prints.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.