From b5ac93d2eeb2a3af56022c948faa445a577c9ece Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Fri, 3 Feb 2023 09:26:36 -0500 Subject: [PATCH] Move Clippy configuration to config.toml (#2541) --- .cargo/config.toml | 24 ++++++++++++++++++++++++ .github/workflows/ci.yaml | 4 ++-- .pre-commit-config.yaml | 2 +- flake8_to_ruff/src/main.rs | 14 -------------- ruff_cli/src/args.rs | 2 ++ ruff_cli/src/lib.rs | 3 --- ruff_cli/src/main.rs | 9 --------- ruff_dev/src/main.rs | 14 -------------- ruff_macros/src/lib.rs | 14 -------------- src/lib.rs | 14 -------------- 10 files changed, 29 insertions(+), 71 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index 044aeccffc..3f21162803 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1,26 @@ [alias] dev = "run --package ruff_dev --bin ruff_dev" + +[target.'cfg(all())'] +rustflags = [ + # CLIPPY LINT SETTINGS + # This is a workaround to configure lints for the entire workspace, pending the ability to configure this via TOML. + # See: `https://github.com/rust-lang/cargo/issues/5034` + # `https://github.com/EmbarkStudios/rust-ecosystem/issues/22#issuecomment-947011395` + "-Dunsafe_code", + "-Wclippy::pedantic", + # "-Wclippy::print_stdout", + # "-Wclippy::print_stderr", + # "-Wclippy::dbg_macro", + "-Wclippy::char_lit_as_u8", + "-Aclippy::collapsible_else_if", + "-Aclippy::collapsible_if", + "-Aclippy::implicit_hasher", + "-Aclippy::match_same_arms", + "-Aclippy::missing_errors_doc", + "-Aclippy::missing_panics_doc", + "-Aclippy::module_name_repetitions", + "-Aclippy::must_use_candidate", + "-Aclippy::similar_names", + "-Aclippy::too_many_lines" +] diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0a0f8854d8..32ab1bef3a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -50,8 +50,8 @@ jobs: rustup component add clippy rustup target add wasm32-unknown-unknown - uses: Swatinem/rust-cache@v1 - - run: cargo clippy --workspace --all-targets --all-features -- -D warnings -W clippy::pedantic - - run: cargo clippy -p ruff --target wasm32-unknown-unknown --all-features -- -D warnings -W clippy::pedantic + - run: cargo clippy --workspace --all-targets --all-features -- -D warnings + - run: cargo clippy -p ruff --target wasm32-unknown-unknown --all-features -- -D warnings cargo-test: strategy: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9b012f90f0..466cb7a243 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: types: [rust] - id: clippy name: clippy - entry: cargo clippy --workspace --all-targets --all-features -- -D warnings -W clippy::pedantic + entry: cargo clippy --workspace --all-targets --all-features -- -D warnings language: rust pass_filenames: false - id: ruff diff --git a/flake8_to_ruff/src/main.rs b/flake8_to_ruff/src/main.rs index b226bcb1b4..c50784d6e5 100644 --- a/flake8_to_ruff/src/main.rs +++ b/flake8_to_ruff/src/main.rs @@ -1,18 +1,4 @@ //! Utility to generate Ruff's `pyproject.toml` section from a Flake8 INI file. -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow( - clippy::collapsible_else_if, - clippy::collapsible_if, - clippy::implicit_hasher, - clippy::match_same_arms, - clippy::missing_errors_doc, - clippy::missing_panics_doc, - clippy::module_name_repetitions, - clippy::must_use_candidate, - clippy::similar_names, - clippy::too_many_lines -)] use std::path::PathBuf; diff --git a/ruff_cli/src/args.rs b/ruff_cli/src/args.rs index 2b6c98f7b1..333a191e0a 100644 --- a/ruff_cli/src/args.rs +++ b/ruff_cli/src/args.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use std::path::PathBuf; use clap::{command, Parser}; diff --git a/ruff_cli/src/lib.rs b/ruff_cli/src/lib.rs index 236c13ac8c..477b4e7dc2 100644 --- a/ruff_cli/src/lib.rs +++ b/ruff_cli/src/lib.rs @@ -2,9 +2,6 @@ //! to automatically update the `ruff help` output in the `README.md`. //! //! For the actual Ruff library, see [`ruff`]. -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow(clippy::must_use_candidate, dead_code)] mod args; diff --git a/ruff_cli/src/main.rs b/ruff_cli/src/main.rs index 96877f7933..9b1f9b8d5c 100644 --- a/ruff_cli/src/main.rs +++ b/ruff_cli/src/main.rs @@ -1,12 +1,3 @@ -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow( - clippy::match_same_arms, - clippy::missing_errors_doc, - clippy::module_name_repetitions, - clippy::too_many_lines -)] - use std::io::{self}; use std::path::PathBuf; use std::process::ExitCode; diff --git a/ruff_dev/src/main.rs b/ruff_dev/src/main.rs index b89905d759..0df29fcd40 100644 --- a/ruff_dev/src/main.rs +++ b/ruff_dev/src/main.rs @@ -1,20 +1,6 @@ //! This crate implements an internal CLI for developers of Ruff. //! //! Within the ruff repository you can run it with `cargo dev`. -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow( - clippy::collapsible_else_if, - clippy::collapsible_if, - clippy::implicit_hasher, - clippy::match_same_arms, - clippy::missing_errors_doc, - clippy::missing_panics_doc, - clippy::module_name_repetitions, - clippy::must_use_candidate, - clippy::similar_names, - clippy::too_many_lines -)] mod generate_all; mod generate_cli_help; diff --git a/ruff_macros/src/lib.rs b/ruff_macros/src/lib.rs index 3fe7106f82..36e6b56624 100644 --- a/ruff_macros/src/lib.rs +++ b/ruff_macros/src/lib.rs @@ -1,18 +1,4 @@ //! This crate implements internal macros for the `ruff` library. -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow( - clippy::collapsible_else_if, - clippy::collapsible_if, - clippy::implicit_hasher, - clippy::match_same_arms, - clippy::missing_errors_doc, - clippy::missing_panics_doc, - clippy::module_name_repetitions, - clippy::must_use_candidate, - clippy::similar_names, - clippy::too_many_lines -)] use proc_macro::TokenStream; use syn::{parse_macro_input, DeriveInput, ItemFn}; diff --git a/src/lib.rs b/src/lib.rs index a5c69597b2..ff5fac65a6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,20 +4,6 @@ //! and subject to change drastically. //! //! [Ruff]: https://github.com/charliermarsh/ruff -#![forbid(unsafe_code)] -#![warn(clippy::pedantic)] -#![allow( - clippy::collapsible_else_if, - clippy::collapsible_if, - clippy::implicit_hasher, - clippy::match_same_arms, - clippy::missing_errors_doc, - clippy::missing_panics_doc, - clippy::module_name_repetitions, - clippy::must_use_candidate, - clippy::similar_names, - clippy::too_many_lines -)] mod assert_yaml_snapshot; mod ast;