Update unexpected_cfgs lint for Cargo new check-cfg config

This commit is contained in:
Urgau 2024-05-16 20:58:22 +02:00
parent 97bf25c8cf
commit 05f77d1b79
4 changed files with 57 additions and 27 deletions

View File

@ -164,13 +164,14 @@ pub(super) fn unexpected_cfg_name(
if is_from_cargo { if is_from_cargo {
if !is_feature_cfg { if !is_feature_cfg {
diag.help(format!("consider using a Cargo feature instead or adding `println!(\"cargo::rustc-check-cfg={inst}\");` to the top of the `build.rs`")); diag.help(format!("consider using a Cargo feature instead"));
diag.help(format!("or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:\n [lints.rust]\n unexpected_cfgs = {{ level = \"warn\", check-cfg = [\"{inst}\"] }}"));
diag.help(format!("or consider adding `println!(\"cargo::rustc-check-cfg={inst}\");` to the top of the `build.rs`"));
} }
diag.note("see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration");
} else { } else {
diag.help(format!("to expect this configuration use `--check-cfg={inst}`")); diag.help(format!("to expect this configuration use `--check-cfg={inst}`"));
diag.note("see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration");
} }
diag.note("see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration");
} }
pub(super) fn unexpected_cfg_value( pub(super) fn unexpected_cfg_value(
@ -266,13 +267,14 @@ pub(super) fn unexpected_cfg_value(
diag.help("consider defining some features in `Cargo.toml`"); diag.help("consider defining some features in `Cargo.toml`");
} }
} else if !is_cfg_a_well_know_name { } else if !is_cfg_a_well_know_name {
diag.help(format!("consider using a Cargo feature instead or adding `println!(\"cargo::rustc-check-cfg={inst}\");` to the top of the `build.rs`")); diag.help(format!("consider using a Cargo feature instead"));
diag.help(format!("or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:\n [lints.rust]\n unexpected_cfgs = {{ level = \"warn\", check-cfg = [\"{inst}\"] }}"));
diag.help(format!("or consider adding `println!(\"cargo::rustc-check-cfg={inst}\");` to the top of the `build.rs`"));
} }
diag.note("see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration");
} else { } else {
if !is_cfg_a_well_know_name { if !is_cfg_a_well_know_name {
diag.help(format!("to expect this configuration use `--check-cfg={inst}`")); diag.help(format!("to expect this configuration use `--check-cfg={inst}`"));
} }
diag.note("see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration");
} }
diag.note("see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration");
} }

View File

@ -6,7 +6,7 @@ LL | #[cfg(feature = "serde")]
| |
= note: no expected values for `feature` = note: no expected values for `feature`
= help: consider adding `serde` as a feature in `Cargo.toml` = help: consider adding `serde` as a feature in `Cargo.toml`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default = note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition value: (none) warning: unexpected `cfg` condition value: (none)
@ -17,7 +17,7 @@ LL | #[cfg(feature)]
| |
= note: no expected values for `feature` = note: no expected values for `feature`
= help: consider defining some features in `Cargo.toml` = help: consider defining some features in `Cargo.toml`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `tokio_unstable` warning: unexpected `cfg` condition name: `tokio_unstable`
--> $DIR/cargo-feature.rs:22:7 --> $DIR/cargo-feature.rs:22:7
@ -26,8 +26,12 @@ LL | #[cfg(tokio_unstable)]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= help: expected names are: `clippy`, `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows` = help: expected names are: `clippy`, `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tokio_unstable)"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `CONFIG_NVME` warning: unexpected `cfg` condition name: `CONFIG_NVME`
--> $DIR/cargo-feature.rs:26:7 --> $DIR/cargo-feature.rs:26:7
@ -35,8 +39,12 @@ warning: unexpected `cfg` condition name: `CONFIG_NVME`
LL | #[cfg(CONFIG_NVME = "m")] LL | #[cfg(CONFIG_NVME = "m")]
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
| |
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(CONFIG_NVME, values(\"m\"))");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(CONFIG_NVME, values(\"m\"))"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CONFIG_NVME, values(\"m\"))");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: 4 warnings emitted warning: 4 warnings emitted

View File

@ -6,7 +6,7 @@ LL | #[cfg(feature = "serde")]
| |
= note: expected values for `feature` are: `bitcode` = note: expected values for `feature` are: `bitcode`
= help: consider adding `serde` as a feature in `Cargo.toml` = help: consider adding `serde` as a feature in `Cargo.toml`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default = note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition value: (none) warning: unexpected `cfg` condition value: (none)
@ -17,7 +17,7 @@ LL | #[cfg(feature)]
| |
= note: expected values for `feature` are: `bitcode` = note: expected values for `feature` are: `bitcode`
= help: consider defining some features in `Cargo.toml` = help: consider defining some features in `Cargo.toml`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `tokio_unstable` warning: unexpected `cfg` condition name: `tokio_unstable`
--> $DIR/cargo-feature.rs:22:7 --> $DIR/cargo-feature.rs:22:7
@ -26,8 +26,12 @@ LL | #[cfg(tokio_unstable)]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= help: expected names are: `CONFIG_NVME`, `clippy`, `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows` = help: expected names are: `CONFIG_NVME`, `clippy`, `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, `windows`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tokio_unstable)"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tokio_unstable)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition value: `m` warning: unexpected `cfg` condition value: `m`
--> $DIR/cargo-feature.rs:26:7 --> $DIR/cargo-feature.rs:26:7
@ -38,8 +42,12 @@ LL | #[cfg(CONFIG_NVME = "m")]
| help: there is a expected value with a similar name: `"y"` | help: there is a expected value with a similar name: `"y"`
| |
= note: expected values for `CONFIG_NVME` are: `y` = note: expected values for `CONFIG_NVME` are: `y`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(CONFIG_NVME, values(\"m\"))");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(CONFIG_NVME, values(\"m\"))"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CONFIG_NVME, values(\"m\"))");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: 4 warnings emitted warning: 4 warnings emitted

View File

@ -5,7 +5,7 @@ LL | #[cfg(featur)]
| ^^^^^^ help: there is a config with a similar name: `feature` | ^^^^^^ help: there is a config with a similar name: `feature`
| |
= help: expected values for `feature` are: `foo` = help: expected values for `feature` are: `foo`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default = note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition name: `featur` warning: unexpected `cfg` condition name: `featur`
@ -14,7 +14,7 @@ warning: unexpected `cfg` condition name: `featur`
LL | #[cfg(featur = "foo")] LL | #[cfg(featur = "foo")]
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
help: there is a config with a similar name and value help: there is a config with a similar name and value
| |
LL | #[cfg(feature = "foo")] LL | #[cfg(feature = "foo")]
@ -27,7 +27,7 @@ LL | #[cfg(featur = "fo")]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
| |
= help: expected values for `feature` are: `foo` = help: expected values for `feature` are: `foo`
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
help: there is a config with a similar name and different values help: there is a config with a similar name and different values
| |
LL | #[cfg(feature = "foo")] LL | #[cfg(feature = "foo")]
@ -39,8 +39,12 @@ warning: unexpected `cfg` condition name: `no_value`
LL | #[cfg(no_value)] LL | #[cfg(no_value)]
| ^^^^^^^^ help: there is a config with a similar name: `no_values` | ^^^^^^^^ help: there is a config with a similar name: `no_values`
| |
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(no_value)");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(no_value)"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_value)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `no_value` warning: unexpected `cfg` condition name: `no_value`
--> $DIR/diagnotics.rs:27:7 --> $DIR/diagnotics.rs:27:7
@ -48,8 +52,12 @@ warning: unexpected `cfg` condition name: `no_value`
LL | #[cfg(no_value = "foo")] LL | #[cfg(no_value = "foo")]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^
| |
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(no_value, values(\"foo\"))");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(no_value, values(\"foo\"))"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_value, values(\"foo\"))");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
help: there is a config with a similar name and no value help: there is a config with a similar name and no value
| |
LL | #[cfg(no_values)] LL | #[cfg(no_values)]
@ -64,8 +72,12 @@ LL | #[cfg(no_values = "bar")]
| help: remove the value | help: remove the value
| |
= note: no expected value for `no_values` = note: no expected value for `no_values`
= help: consider using a Cargo feature instead or adding `println!("cargo::rustc-check-cfg=cfg(no_values, values(\"bar\"))");` to the top of the `build.rs` = help: consider using a Cargo feature instead
= note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(no_values, values(\"bar\"))"] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_values, values(\"bar\"))");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: 6 warnings emitted warning: 6 warnings emitted