about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-11-22 07:31:13 +0000
committerbors <bors@rust-lang.org>2023-11-22 07:31:13 +0000
commit855c6836b7c476385db95a0a95f2e57f5ff32fe1 (patch)
tree33f19f3af45e575b49a708469fdfcbc2da7ea58b /src
parentcc4bb0de204516c2852f70df0f3849e542e2c95e (diff)
parent54c122ec0d45799e795f8b2aca38227ce9b05fa5 (diff)
downloadrust-855c6836b7c476385db95a0a95f2e57f5ff32fe1.tar.gz
rust-855c6836b7c476385db95a0a95f2e57f5ff32fe1.zip
Auto merge of #118071 - Urgau:check-cfg-cargo-feature, r=petrochenkov
Remove `feature` from the list of well known check-cfg name

This PR removes `feature` from the list of well known check-cfg.

This is done for multiple reasons:
 - Cargo is the source of truth, rustc shouldn't have any knowledge of it
 - It creates a conflict between Cargo and rustc when there are no features defined.
   In this case Cargo won't pass any `--check-cfg` for `feature` since no feature will ever be passed, but rustc by having in it's list adds a implicit `cfg(feature, values(any()))` which is completely wrong. Having any cfg `feature` is unexpected not allow any `feature` value.

While doing this, I took the opportunity to specialise the diagnostic a bit for the case above.

r? `@petrochenkov`
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/src/bin/rustc.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bootstrap/src/bin/rustc.rs b/src/bootstrap/src/bin/rustc.rs
index 070a2da6afb..af66cb3ffd7 100644
--- a/src/bootstrap/src/bin/rustc.rs
+++ b/src/bootstrap/src/bin/rustc.rs
@@ -114,7 +114,7 @@ fn main() {
         {
             cmd.arg("-Ztls-model=initial-exec");
         }
-    } else {
+    } else if std::env::var("MIRI").is_err() {
         // Find any host flags that were passed by bootstrap.
         // The flags are stored in a RUSTC_HOST_FLAGS variable, separated by spaces.
         if let Ok(flags) = std::env::var("RUSTC_HOST_FLAGS") {