From 0f72e3ab990e42944e14f1cea6f612cae716b0f2 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Mon, 3 Nov 2025 10:00:00 +0100 Subject: [PATCH 1/2] Move lints from CI to Cargo.toml --- .github/workflows/code-quality.yml | 3 +-- Cargo.toml | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 8237c54..107e1b9 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -74,9 +74,8 @@ jobs: run: | ## `cargo clippy` lint testing unset fault - CLIPPY_FLAGS="-W clippy::default_trait_access -W clippy::manual_string_new -W clippy::cognitive_complexity -W clippy::implicit_clone -W clippy::range-plus-one -W clippy::redundant-clone -W clippy::match_bool -W clippy::semicolon_if_nothing_returned" fault_type="${{ steps.vars.outputs.FAULT_TYPE }}" fault_prefix=$(echo "$fault_type" | tr '[:lower:]' '[:upper:]') # * convert any warnings to GHA UI annotations; ref: - S=$(cargo clippy --all-targets -pprocps -- ${CLIPPY_FLAGS} -D warnings 2>&1) && printf "%s\n" "$S" || { printf "%s\n" "$S" ; printf "%s" "$S" | sed -E -n -e '/^error:/{' -e "N; s/^error:[[:space:]]+(.*)\\n[[:space:]]+-->[[:space:]]+(.*):([0-9]+):([0-9]+).*$/::${fault_type} file=\2,line=\3,col=\4::${fault_prefix}: \`cargo clippy\`: \1 (file:'\2', line:\3)/p;" -e '}' ; fault=true ; } + S=$(cargo clippy --all-targets -pprocps -- -D warnings 2>&1) && printf "%s\n" "$S" || { printf "%s\n" "$S" ; printf "%s" "$S" | sed -E -n -e '/^error:/{' -e "N; s/^error:[[:space:]]+(.*)\\n[[:space:]]+-->[[:space:]]+(.*):([0-9]+):([0-9]+).*$/::${fault_type} file=\2,line=\3,col=\4::${fault_prefix}: \`cargo clippy\`: \1 (file:'\2', line:\3)/p;" -e '}' ; fault=true ; } if [ -n "${{ steps.vars.outputs.FAIL_ON_FAULT }}" ] && [ -n "$fault" ]; then exit 1 ; fi diff --git a/Cargo.toml b/Cargo.toml index b49c1a4..53c490e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -159,3 +159,13 @@ inherits = "release" opt-level = "z" panic = "abort" strip = true + +[workspace.lints.clippy] +default_trait_access = "warn" +manual_string_new = "warn" +cognitive_complexity = "warn" +implicit_clone = "warn" +range-plus-one = "warn" +redundant-clone = "warn" +match_bool = "warn" +semicolon_if_nothing_returned = "warn" From c8dcd124bfbf135086ea09891e40fd27db2107da Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Mon, 3 Nov 2025 10:00:12 +0100 Subject: [PATCH 2/2] all: enable workspace lints --- Cargo.toml | 3 +++ src/uu/free/Cargo.toml | 3 +++ src/uu/pgrep/Cargo.toml | 3 +++ src/uu/pidof/Cargo.toml | 3 +++ src/uu/pidwait/Cargo.toml | 3 +++ src/uu/pkill/Cargo.toml | 3 +++ src/uu/pmap/Cargo.toml | 3 +++ src/uu/ps/Cargo.toml | 3 +++ src/uu/pwdx/Cargo.toml | 3 +++ src/uu/skill/Cargo.toml | 3 +++ src/uu/slabtop/Cargo.toml | 3 +++ src/uu/snice/Cargo.toml | 3 +++ src/uu/sysctl/Cargo.toml | 3 +++ src/uu/tload/Cargo.toml | 3 +++ src/uu/top/Cargo.toml | 3 +++ src/uu/vmstat/Cargo.toml | 3 +++ src/uu/w/Cargo.toml | 3 +++ src/uu/watch/Cargo.toml | 3 +++ 18 files changed, 54 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 53c490e..c35c04c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -160,6 +160,9 @@ opt-level = "z" panic = "abort" strip = true +[lints] +workspace = true + [workspace.lints.clippy] default_trait_access = "warn" manual_string_new = "warn" diff --git a/src/uu/free/Cargo.toml b/src/uu/free/Cargo.toml index bf4c85b..a1091db 100644 --- a/src/uu/free/Cargo.toml +++ b/src/uu/free/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] bytesize = { workspace = true } clap = { workspace = true } diff --git a/src/uu/pgrep/Cargo.toml b/src/uu/pgrep/Cargo.toml index 58ba918..0d4b94d 100644 --- a/src/uu/pgrep/Cargo.toml +++ b/src/uu/pgrep/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["entries", "signals", "process"] } clap = { workspace = true } diff --git a/src/uu/pidof/Cargo.toml b/src/uu/pidof/Cargo.toml index bad2e30..62be6f8 100644 --- a/src/uu/pidof/Cargo.toml +++ b/src/uu/pidof/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["process"] } clap = { workspace = true } diff --git a/src/uu/pidwait/Cargo.toml b/src/uu/pidwait/Cargo.toml index 9179365..4d42266 100644 --- a/src/uu/pidwait/Cargo.toml +++ b/src/uu/pidwait/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] nix = { workspace = true } uucore = { workspace = true, features = ["entries"] } diff --git a/src/uu/pkill/Cargo.toml b/src/uu/pkill/Cargo.toml index c1aaa11..44e0166 100644 --- a/src/uu/pkill/Cargo.toml +++ b/src/uu/pkill/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["entries"] } clap = { workspace = true } diff --git a/src/uu/pmap/Cargo.toml b/src/uu/pmap/Cargo.toml index 60a42ab..32a8415 100644 --- a/src/uu/pmap/Cargo.toml +++ b/src/uu/pmap/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true } clap = { workspace = true } diff --git a/src/uu/ps/Cargo.toml b/src/uu/ps/Cargo.toml index 936ed5c..52ee45f 100644 --- a/src/uu/ps/Cargo.toml +++ b/src/uu/ps/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["utmpx"] } clap = { workspace = true } diff --git a/src/uu/pwdx/Cargo.toml b/src/uu/pwdx/Cargo.toml index 4a80498..ef91012 100644 --- a/src/uu/pwdx/Cargo.toml +++ b/src/uu/pwdx/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true } clap = { workspace = true } diff --git a/src/uu/skill/Cargo.toml b/src/uu/skill/Cargo.toml index dedc7bf..47e8d4b 100644 --- a/src/uu/skill/Cargo.toml +++ b/src/uu/skill/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["signals"] } clap = { workspace = true } diff --git a/src/uu/slabtop/Cargo.toml b/src/uu/slabtop/Cargo.toml index 48f1d90..fed5ddb 100644 --- a/src/uu/slabtop/Cargo.toml +++ b/src/uu/slabtop/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true } clap = { workspace = true } diff --git a/src/uu/snice/Cargo.toml b/src/uu/snice/Cargo.toml index 4c2a740..321f60c 100644 --- a/src/uu/snice/Cargo.toml +++ b/src/uu/snice/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["signals"] } clap = { workspace = true } diff --git a/src/uu/sysctl/Cargo.toml b/src/uu/sysctl/Cargo.toml index 5379035..db397cd 100644 --- a/src/uu/sysctl/Cargo.toml +++ b/src/uu/sysctl/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true } clap = { workspace = true } diff --git a/src/uu/tload/Cargo.toml b/src/uu/tload/Cargo.toml index 347b7dd..323a64e 100644 --- a/src/uu/tload/Cargo.toml +++ b/src/uu/tload/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] clap = { workspace = true } crossterm = { workspace = true } diff --git a/src/uu/top/Cargo.toml b/src/uu/top/Cargo.toml index 6a8ed22..005aa78 100644 --- a/src/uu/top/Cargo.toml +++ b/src/uu/top/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["utmpx", "uptime", "signals"] } clap = { workspace = true } diff --git a/src/uu/vmstat/Cargo.toml b/src/uu/vmstat/Cargo.toml index 9415830..439404b 100644 --- a/src/uu/vmstat/Cargo.toml +++ b/src/uu/vmstat/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] bytesize = { workspace = true } clap = { workspace = true } diff --git a/src/uu/w/Cargo.toml b/src/uu/w/Cargo.toml index 4d21d7b..2a6a346 100644 --- a/src/uu/w/Cargo.toml +++ b/src/uu/w/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true, features = ["utmpx", "uptime"] } clap = { workspace = true } diff --git a/src/uu/watch/Cargo.toml b/src/uu/watch/Cargo.toml index 6ac321c..3b96840 100644 --- a/src/uu/watch/Cargo.toml +++ b/src/uu/watch/Cargo.toml @@ -10,6 +10,9 @@ keywords.workspace = true license.workspace = true version.workspace = true +[lints] +workspace = true + [dependencies] uucore = { workspace = true } clap = { workspace = true }