]> git.lizzy.rs Git - rust.git/blobdiff - src/bootstrap/check.rs
Rollup merge of #106960 - estebank:parse-anon-enums, r=cjgillot
[rust.git] / src / bootstrap / check.rs
index b203ecd3844b039d11358abc156f6d7b427a8be6..4b8a58e87b64eb893a87c090b233b8866ab4ae60 100644 (file)
@@ -99,13 +99,20 @@ fn run(self, builder: &Builder<'_>) {
             cargo_subcommand(builder.kind),
         );
         std_cargo(builder, target, compiler.stage, &mut cargo);
-        cargo.args(args(builder));
 
         builder.info(&format!(
             "Checking stage{} library artifacts ({} -> {})",
             builder.top_stage, &compiler.host, target
         ));
-        run_cargo(builder, cargo, &libstd_stamp(builder, compiler, target), vec![], true, false);
+        run_cargo(
+            builder,
+            cargo,
+            args(builder),
+            &libstd_stamp(builder, compiler, target),
+            vec![],
+            true,
+            false,
+        );
 
         // We skip populating the sysroot in non-zero stage because that'll lead
         // to rlib/rmeta conflicts if std gets built during this session.
@@ -149,7 +156,6 @@ fn run(self, builder: &Builder<'_>) {
         for krate in builder.in_tree_crates("test", Some(target)) {
             cargo.arg("-p").arg(krate.name);
         }
-        cargo.args(args(builder));
 
         builder.info(&format!(
             "Checking stage{} library test/bench/example targets ({} -> {})",
@@ -158,6 +164,7 @@ fn run(self, builder: &Builder<'_>) {
         run_cargo(
             builder,
             cargo,
+            args(builder),
             &libstd_test_stamp(builder, compiler, target),
             vec![],
             true,
@@ -226,13 +233,20 @@ fn run(self, builder: &Builder<'_>) {
         for krate in builder.in_tree_crates("rustc-main", Some(target)) {
             cargo.arg("-p").arg(krate.name);
         }
-        cargo.args(args(builder));
 
         builder.info(&format!(
             "Checking stage{} compiler artifacts ({} -> {})",
             builder.top_stage, &compiler.host, target
         ));
-        run_cargo(builder, cargo, &librustc_stamp(builder, compiler, target), vec![], true, false);
+        run_cargo(
+            builder,
+            cargo,
+            args(builder),
+            &librustc_stamp(builder, compiler, target),
+            vec![],
+            true,
+            false,
+        );
 
         let libdir = builder.sysroot_libdir(compiler, target);
         let hostdir = builder.sysroot_libdir(compiler, compiler.host);
@@ -279,7 +293,6 @@ fn run(self, builder: &Builder<'_>) {
             .arg("--manifest-path")
             .arg(builder.src.join(format!("compiler/rustc_codegen_{}/Cargo.toml", backend)));
         rustc_cargo_env(builder, &mut cargo, target);
-        cargo.args(args(builder));
 
         builder.info(&format!(
             "Checking stage{} {} artifacts ({} -> {})",
@@ -289,6 +302,7 @@ fn run(self, builder: &Builder<'_>) {
         run_cargo(
             builder,
             cargo,
+            args(builder),
             &codegen_backend_stamp(builder, compiler, target, backend),
             vec![],
             true,
@@ -332,9 +346,7 @@ fn run(self, builder: &Builder<'_>) {
             &["rust-analyzer/in-rust-tree".to_owned()],
         );
 
-        cargo.rustflag(
-            "-Zallow-features=proc_macro_internals,proc_macro_diagnostic,proc_macro_span",
-        );
+        cargo.allow_features(crate::tool::RustAnalyzer::ALLOW_FEATURES);
 
         // For ./x.py clippy, don't check those targets because
         // linting tests and benchmarks can produce very noisy results
@@ -345,13 +357,19 @@ fn run(self, builder: &Builder<'_>) {
             cargo.arg("--benches");
         }
 
-        cargo.args(args(builder));
-
         builder.info(&format!(
             "Checking stage{} {} artifacts ({} -> {})",
             compiler.stage, "rust-analyzer", &compiler.host.triple, target.triple
         ));
-        run_cargo(builder, cargo, &stamp(builder, compiler, target), vec![], true, false);
+        run_cargo(
+            builder,
+            cargo,
+            args(builder),
+            &stamp(builder, compiler, target),
+            vec![],
+            true,
+            false,
+        );
 
         /// Cargo's output path in a given stage, compiled by a particular
         /// compiler for the specified target.
@@ -405,8 +423,6 @@ fn run(self, builder: &Builder<'_>) {
                     cargo.arg("--all-targets");
                 }
 
-                cargo.args(args(builder));
-
                 // Enable internal lints for clippy and rustdoc
                 // NOTE: this doesn't enable lints for any other tools unless they explicitly add `#![warn(rustc::internal)]`
                 // See https://github.com/rust-lang/rust/pull/80573#issuecomment-754010776
@@ -422,6 +438,7 @@ fn run(self, builder: &Builder<'_>) {
                 run_cargo(
                     builder,
                     cargo,
+                    args(builder),
                     &stamp(builder, compiler, target),
                     vec![],
                     true,