Skip to content

Commit b20987d

Browse files
Remove is_build_script check for misleading_cfg_in_build_script rustc lint
1 parent db4adac commit b20987d

4 files changed

Lines changed: 13 additions & 64 deletions

File tree

compiler/rustc_lint/src/misleading_cfg_in_build_script.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ declare_lint! {
1919
///
2020
/// ### Example
2121
///
22-
/// ```rust,ignore (can only be run in cargo build scripts)
22+
/// ```rust,ignore (should only be run in cargo build scripts)
2323
/// if cfg!(windows) {}
2424
/// ```
2525
///
@@ -199,19 +199,10 @@ fn get_invalid_cfg_attrs(attr: &MetaItem, spans: &mut Vec<Span>, has_unknown: &m
199199
}
200200
}
201201

202-
fn is_build_script(cx: &EarlyContext<'_>) -> bool {
203-
rustc_session::utils::was_invoked_from_cargo()
204-
&& cx.sess().opts.crate_name.as_deref() == Some("build_script_build")
205-
}
206-
207202
const ERROR_MESSAGE: &str = "target-based cfg should be avoided in build scripts";
208203

209204
impl EarlyLintPass for MisleadingCfgInBuildScript {
210205
fn check_attribute(&mut self, cx: &EarlyContext<'_>, attr: &Attribute) {
211-
if !is_build_script(cx) {
212-
return;
213-
}
214-
215206
let mut spans = Vec::new();
216207
let mut has_unknown = false;
217208
match attr.name() {
@@ -252,10 +243,6 @@ impl EarlyLintPass for MisleadingCfgInBuildScript {
252243
}
253244

254245
fn check_mac(&mut self, cx: &EarlyContext<'_>, call: &MacCall) {
255-
if !is_build_script(cx) {
256-
return;
257-
}
258-
259246
if call.path.segments.len() == 1 && call.path.segments[0].ident.name == sym::cfg {
260247
let mut ast = Vec::new();
261248
let mut has_unknown = false;

tests/ui/lint/misleading_cfg_in_build_script-no-cargo.rs

Lines changed: 0 additions & 36 deletions
This file was deleted.

tests/ui/lint/misleading_cfg_in_build_script.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// This test checks the `cfg()` attributes/macros in cargo build scripts.
22
//
33
//@ no-auto-check-cfg
4-
//@ rustc-env:CARGO_CRATE_NAME=build_script_build
5-
//@ compile-flags:--crate-name=build_script_build
64

75
#![deny(misleading_cfg_in_build_script)]
86
#![allow(dead_code)]

tests/ui/lint/misleading_cfg_in_build_script.stderr

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,71 @@
11
error: target-based cfg should be avoided in build scripts
2-
--> $DIR/misleading_cfg_in_build_script.rs:10:1
2+
--> $DIR/misleading_cfg_in_build_script.rs:8:1
33
|
44
LL | #[cfg(windows)]
55
| ^^^^^^^^^^^^^^^
66
|
77
note: the lint level is defined here
8-
--> $DIR/misleading_cfg_in_build_script.rs:7:9
8+
--> $DIR/misleading_cfg_in_build_script.rs:5:9
99
|
1010
LL | #![deny(misleading_cfg_in_build_script)]
1111
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1212

1313
error: target-based cfg should be avoided in build scripts
14-
--> $DIR/misleading_cfg_in_build_script.rs:13:1
14+
--> $DIR/misleading_cfg_in_build_script.rs:11:1
1515
|
1616
LL | #[cfg(not(windows))]
1717
| ^^^^^^^^^^^^^^^^^^^^
1818

1919
error: target-based cfg should be avoided in build scripts
20-
--> $DIR/misleading_cfg_in_build_script.rs:16:11
20+
--> $DIR/misleading_cfg_in_build_script.rs:14:11
2121
|
2222
LL | #[cfg(any(windows, feature = "yellow", unix))]
2323
| ^^^^^^^ ^^^^
2424

2525
error: target-based cfg should be avoided in build scripts
26-
--> $DIR/misleading_cfg_in_build_script.rs:27:8
26+
--> $DIR/misleading_cfg_in_build_script.rs:25:8
2727
|
2828
LL | if cfg!(windows) {}
2929
| ^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_WINDOWS").is_ok()`
3030

3131
error: target-based cfg should be avoided in build scripts
32-
--> $DIR/misleading_cfg_in_build_script.rs:29:8
32+
--> $DIR/misleading_cfg_in_build_script.rs:27:8
3333
|
3434
LL | if cfg!(not(windows)) {}
3535
| ^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_WINDOWS").is_err()`
3636

3737
error: target-based cfg should be avoided in build scripts
38-
--> $DIR/misleading_cfg_in_build_script.rs:31:8
38+
--> $DIR/misleading_cfg_in_build_script.rs:29:8
3939
|
4040
LL | if cfg!(target_os = "freebsd") {}
4141
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd"`
4242

4343
error: target-based cfg should be avoided in build scripts
44-
--> $DIR/misleading_cfg_in_build_script.rs:33:8
44+
--> $DIR/misleading_cfg_in_build_script.rs:31:8
4545
|
4646
LL | if cfg!(any(target_os = "freebsd", windows)) {}
4747
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd" || std::env::var("CARGO_CFG_WINDOWS").is_ok()`
4848

4949
error: target-based cfg should be avoided in build scripts
50-
--> $DIR/misleading_cfg_in_build_script.rs:35:8
50+
--> $DIR/misleading_cfg_in_build_script.rs:33:8
5151
|
5252
LL | if cfg!(not(any(target_os = "freebsd", windows))) {}
5353
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `!(std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd" || std::env::var("CARGO_CFG_WINDOWS").is_ok())`
5454

5555
error: target-based cfg should be avoided in build scripts
56-
--> $DIR/misleading_cfg_in_build_script.rs:37:8
56+
--> $DIR/misleading_cfg_in_build_script.rs:35:8
5757
|
5858
LL | if cfg!(all(target_os = "freebsd", windows)) {}
5959
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd" && std::env::var("CARGO_CFG_WINDOWS").is_ok()`
6060

6161
error: target-based cfg should be avoided in build scripts
62-
--> $DIR/misleading_cfg_in_build_script.rs:39:8
62+
--> $DIR/misleading_cfg_in_build_script.rs:37:8
6363
|
6464
LL | if cfg!(not(all(target_os = "freebsd", windows))) {}
6565
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `!(std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd" && std::env::var("CARGO_CFG_WINDOWS").is_ok())`
6666

6767
error: target-based cfg should be avoided in build scripts
68-
--> $DIR/misleading_cfg_in_build_script.rs:41:8
68+
--> $DIR/misleading_cfg_in_build_script.rs:39:8
6969
|
7070
LL | if cfg!(all(target_os = "freebsd", any(windows, not(feature = "red")))) {}
7171
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use cargo environment variables if possible: `std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default() == "freebsd" && (std::env::var("CARGO_CFG_WINDOWS").is_ok() || cfg!(not(feature = red)))`

0 commit comments

Comments
 (0)