diff --git a/doc/book/src/reference/lints.md b/doc/book/src/reference/lints.md index 120eedbd158..b4dcfe32015 100644 --- a/doc/book/src/reference/lints.md +++ b/doc/book/src/reference/lints.md @@ -38,10 +38,10 @@ These lints are all set to the 'allow' level by default. These lints are all set to the 'warn' level by default. - [`blanket_hint_mostly_unused`](#blanket_hint_mostly_unused) +- [`manual_readme`](#manual_readme) - [`missing_lints_inheritance`](#missing_lints_inheritance) - [`non_kebab_case_bins`](#non_kebab_case_bins) - [`redundant_homepage`](#redundant_homepage) -- [`redundant_readme`](#redundant_readme) - [`unknown_lints`](#unknown_lints) - [`unused_dependencies`](#unused_dependencies) - [`unused_workspace_dependencies`](#unused_workspace_dependencies) @@ -85,6 +85,43 @@ hint-mostly-unused = true ``` +## `manual_readme` + +- Group: `style` +- Level: `warn` +- Minimal [`package.rust-version`]: `1.79.0` + + +### What it does + +Checks for `package.readme` fields that can be inferred. + +See also [`package.readme` reference documentation](manifest.md#the-readme-field). + +### Why is this bad? + +Adds boilerplate. + +### Drawbacks + +It might not be obvious if they named their file correctly. + +### Example + +```toml +[package] +name = "foo" +readme = "README.md" +``` + +Should be written as: + +```toml +[package] +name = "foo" +``` + + ## `missing_lints_inheritance` - Group: `suspicious` @@ -333,43 +370,6 @@ repository = "https://github.com/rust-lang/cargo/" ``` -## `redundant_readme` - -- Group: `style` -- Level: `warn` -- Minimal [`package.rust-version`]: `1.79.0` - - -### What it does - -Checks for `package.readme` fields that can be inferred. - -See also [`package.readme` reference documentation](manifest.md#the-readme-field). - -### Why is this bad? - -Adds boilerplate. - -### Drawbacks - -It might not be obvious if they named their file correctly. - -### Example - -```toml -[package] -name = "foo" -readme = "README.md" -``` - -Should be written as: - -```toml -[package] -name = "foo" -``` - - ## `text_direction_codepoint_in_comment` - Group: `correctness` diff --git a/src/diagnostics/rules/redundant_readme.rs b/src/diagnostics/rules/manual_readme.rs similarity index 99% rename from src/diagnostics/rules/redundant_readme.rs rename to src/diagnostics/rules/manual_readme.rs index 9df1ae1134c..aa57900aac6 100644 --- a/src/diagnostics/rules/redundant_readme.rs +++ b/src/diagnostics/rules/manual_readme.rs @@ -24,7 +24,7 @@ use crate::workspace::Workspace; use crate::workspace::parser::DEFAULT_README_FILES; pub static LINT: &Lint = &Lint { - name: "redundant_readme", + name: "manual_readme", desc: "explicit `package.readme` can be inferred", primary_group: &STYLE, msrv: Some(super::CARGO_LINTS_MSRV), diff --git a/src/diagnostics/rules/mod.rs b/src/diagnostics/rules/mod.rs index 1d0731f713a..fe88ba8faff 100644 --- a/src/diagnostics/rules/mod.rs +++ b/src/diagnostics/rules/mod.rs @@ -1,6 +1,7 @@ mod blanket_hint_mostly_unused; mod deferred_parse_diagnostics; mod im_a_teapot; +mod manual_readme; mod missing_lints_features; mod missing_lints_inheritance; mod non_kebab_case_bins; @@ -9,7 +10,6 @@ mod non_kebab_case_packages; mod non_snake_case_features; mod non_snake_case_packages; mod redundant_homepage; -mod redundant_readme; mod text_direction_codepoint_in_comment; mod text_direction_codepoint_in_literal; mod unknown_lints; @@ -54,6 +54,10 @@ pub const PARSE_PASS_RULES: &[ParsePassRule<'static>] = &[ lint: unused_workspace_package_fields::LINT, }, // `warn` + ParsePassRule::LintPackage { + rule: manual_readme::lint_package, + lint: manual_readme::LINT, + }, ParsePassRule::LintPackage { rule: missing_lints_inheritance::lint_package, lint: missing_lints_inheritance::LINT, @@ -66,10 +70,6 @@ pub const PARSE_PASS_RULES: &[ParsePassRule<'static>] = &[ rule: redundant_homepage::lint_package, lint: redundant_homepage::LINT, }, - ParsePassRule::LintPackage { - rule: redundant_readme::lint_package, - lint: redundant_readme::LINT, - }, ParsePassRule::LintPackage { rule: unused_dependencies::lint_package, lint: unused_dependencies::LINT, @@ -100,6 +100,7 @@ pub const PARSE_PASS_RULES: &[ParsePassRule<'static>] = &[ pub static LINTS: &[&crate::diagnostics::Lint] = &[ blanket_hint_mostly_unused::LINT, im_a_teapot::LINT, + manual_readme::LINT, missing_lints_inheritance::LINT, non_kebab_case_bins::LINT, non_kebab_case_features::LINT, @@ -107,7 +108,6 @@ pub static LINTS: &[&crate::diagnostics::Lint] = &[ non_snake_case_features::LINT, non_snake_case_packages::LINT, redundant_homepage::LINT, - redundant_readme::LINT, text_direction_codepoint_in_comment::LINT, text_direction_codepoint_in_literal::LINT, unknown_lints::LINT, diff --git a/tests/testsuite/lints/redundant_readme.rs b/tests/testsuite/lints/manual_readme.rs similarity index 93% rename from tests/testsuite/lints/redundant_readme.rs rename to tests/testsuite/lints/manual_readme.rs index 5a0865caaa5..5ce82e01878 100644 --- a/tests/testsuite/lints/redundant_readme.rs +++ b/tests/testsuite/lints/manual_readme.rs @@ -17,7 +17,7 @@ readme = "README.md" [lints.cargo] default = { level = "allow", priority = -1 } -redundant_readme = "warn" +manual_readme = "warn" "#, ) .file("src/main.rs", "fn main() {}") @@ -33,7 +33,7 @@ redundant_readme = "warn" 7 | readme = "README.md" | ^^^^^^^^^^^^^^^^^^^^ | - = [NOTE] `cargo::redundant_readme` is set to `warn` in `[lints]` + = [NOTE] `cargo::manual_readme` is set to `warn` in `[lints]` [HELP] consider removing `package.readme` [WARNING] `foo` (manifest) generated 1 warning @@ -55,7 +55,7 @@ authors = [] [lints.cargo] default = { level = "allow", priority = -1 } -redundant_readme = "warn" +manual_readme = "warn" "#, ) .file("src/main.rs", "fn main() {}") @@ -83,7 +83,7 @@ readme = "FOO.md" [lints.cargo] default = { level = "allow", priority = -1 } -redundant_readme = "warn" +manual_readme = "warn" "#, ) .file("src/main.rs", "fn main() {}") @@ -111,7 +111,7 @@ readme = "src/README.md" [lints.cargo] default = { level = "allow", priority = -1 } -redundant_readme = "warn" +manual_readme = "warn" "#, ) .file("src/main.rs", "fn main() {}") @@ -142,7 +142,7 @@ readme.workspace = true [lints.cargo] default = { level = "allow", priority = -1 } -redundant_readme = "warn" +manual_readme = "warn" "#, ) .file("src/main.rs", "fn main() {}") diff --git a/tests/testsuite/lints/mod.rs b/tests/testsuite/lints/mod.rs index f60e3438523..bf21c84259a 100644 --- a/tests/testsuite/lints/mod.rs +++ b/tests/testsuite/lints/mod.rs @@ -6,6 +6,7 @@ use cargo_test_support::str; mod blanket_hint_mostly_unused; mod error; mod inherited; +mod manual_readme; mod missing_lints_inheritance; mod non_kebab_case_bins; mod non_kebab_case_features; @@ -13,7 +14,6 @@ mod non_kebab_case_packages; mod non_snake_case_features; mod non_snake_case_packages; mod redundant_homepage; -mod redundant_readme; mod text_direction_codepoint; mod unknown_lints; mod unused_dependencies;