Suggest name value cfg when only value is used for check-cfg
This commit is contained in:
parent
6351247048
commit
c36798357d
5 changed files with 113 additions and 10 deletions
12
tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.rs
Normal file
12
tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// #120427
|
||||
// This test checks that when a single cfg has a value for user's specified name
|
||||
//
|
||||
// check-pass
|
||||
// compile-flags: -Z unstable-options
|
||||
// compile-flags: --check-cfg=cfg(foo,values("my_value")) --check-cfg=cfg(bar,values("my_value"))
|
||||
|
||||
#[cfg(my_value)]
|
||||
//~^ WARNING unexpected `cfg` condition name: `my_value`
|
||||
fn x() {}
|
||||
|
||||
fn main() {}
|
||||
21
tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr
Normal file
21
tests/ui/check-cfg/cfg-value-for-cfg-name-multiple.stderr
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
warning: unexpected `cfg` condition name: `my_value`
|
||||
--> $DIR/cfg-value-for-cfg-name-multiple.rs:8:7
|
||||
|
|
||||
LL | #[cfg(my_value)]
|
||||
| ^^^^^^^^
|
||||
|
|
||||
= help: expected names are: `bar`, `debug_assertions`, `doc`, `doctest`, `foo`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `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`, `unix`, `windows`
|
||||
= help: to expect this configuration use `--check-cfg=cfg(my_value)`
|
||||
= note: see <https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/check-cfg.html> for more information about checking conditional configuration
|
||||
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||
help: found config with similar value
|
||||
|
|
||||
LL | #[cfg(foo = "my_value")]
|
||||
| ~~~~~~~~~~~~~~~~
|
||||
help: found config with similar value
|
||||
|
|
||||
LL | #[cfg(bar = "my_value")]
|
||||
| ~~~~~~~~~~~~~~~~
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
18
tests/ui/check-cfg/cfg-value-for-cfg-name.rs
Normal file
18
tests/ui/check-cfg/cfg-value-for-cfg-name.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// #120427
|
||||
// This test checks that when a single cfg has a value for user's specified name
|
||||
// suggest to use `#[cfg(target_os = "linux")]` instead of `#[cfg(linux)]`
|
||||
//
|
||||
// check-pass
|
||||
// compile-flags: -Z unstable-options
|
||||
// compile-flags: --check-cfg=cfg()
|
||||
|
||||
#[cfg(linux)]
|
||||
//~^ WARNING unexpected `cfg` condition name: `linux`
|
||||
fn x() {}
|
||||
|
||||
// will not suggest if the cfg has a value
|
||||
#[cfg(linux = "os-name")]
|
||||
//~^ WARNING unexpected `cfg` condition name: `linux`
|
||||
fn y() {}
|
||||
|
||||
fn main() {}
|
||||
22
tests/ui/check-cfg/cfg-value-for-cfg-name.stderr
Normal file
22
tests/ui/check-cfg/cfg-value-for-cfg-name.stderr
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
warning: unexpected `cfg` condition name: `linux`
|
||||
--> $DIR/cfg-value-for-cfg-name.rs:9:7
|
||||
|
|
||||
LL | #[cfg(linux)]
|
||||
| ^^^^^ help: found config with similar value: `target_os = "linux"`
|
||||
|
|
||||
= help: expected names are: `debug_assertions`, `doc`, `doctest`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `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`, `unix`, `windows`
|
||||
= help: to expect this configuration use `--check-cfg=cfg(linux)`
|
||||
= note: see <https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/check-cfg.html> for more information about checking conditional configuration
|
||||
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||
|
||||
warning: unexpected `cfg` condition name: `linux`
|
||||
--> $DIR/cfg-value-for-cfg-name.rs:14:7
|
||||
|
|
||||
LL | #[cfg(linux = "os-name")]
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: to expect this configuration use `--check-cfg=cfg(linux, values("os-name"))`
|
||||
= note: see <https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/check-cfg.html> for more information about checking conditional configuration
|
||||
|
||||
warning: 2 warnings emitted
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue