about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel McNab <36049421+DJMcNab@users.noreply.github.com>2021-03-08 16:37:52 +0000
committerDaniel McNab <36049421+DJMcNab@users.noreply.github.com>2021-03-08 16:37:52 +0000
commitbbecea03fda57cced0b4ba95f4bbd45f8d88102c (patch)
tree3061c3ecbb5cdfb3c302efb7cd536de356e8cff8
parentddce6bb282764692d53b719bff4c37e3512d4556 (diff)
downloadrust-bbecea03fda57cced0b4ba95f4bbd45f8d88102c.tar.gz
rust-bbecea03fda57cced0b4ba95f4bbd45f8d88102c.zip
Revert "Support disabling rustc build scripts"
This reverts commit ddce6bb282764692d53b719bff4c37e3512d4556.
-rw-r--r--crates/project_model/src/workspace.rs13
-rw-r--r--crates/rust-analyzer/src/cli/analysis_bench.rs3
-rw-r--r--crates/rust-analyzer/src/cli/analysis_stats.rs3
-rw-r--r--crates/rust-analyzer/src/cli/diagnostics.rs8
-rw-r--r--crates/rust-analyzer/src/cli/load_cargo.rs10
-rw-r--r--crates/rust-analyzer/src/cli/ssr.rs18
-rw-r--r--crates/rust-analyzer/src/config.rs5
-rw-r--r--crates/rust-analyzer/src/reload.rs5
-rw-r--r--docs/user/generated_config.adoc2
-rw-r--r--editors/code/package.json5
10 files changed, 12 insertions, 60 deletions
diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs
index d754c8b55c8..aa7a8ee520e 100644
--- a/crates/project_model/src/workspace.rs
+++ b/crates/project_model/src/workspace.rs
@@ -274,19 +274,12 @@ impl ProjectWorkspace {
         crate_graph
     }
 
-    pub fn collect_build_data_configs(
-        &self,
-        collector: &mut BuildDataCollector,
-        for_private: bool,
-    ) {
+    pub fn collect_build_data_configs(&self, collector: &mut BuildDataCollector) {
         match self {
             ProjectWorkspace::Cargo { cargo, rustc, .. } => {
                 collector.add_config(&cargo.workspace_root(), cargo.build_data_config().clone());
-                if for_private {
-                    if let Some(rustc) = rustc {
-                        collector
-                            .add_config(rustc.workspace_root(), rustc.build_data_config().clone());
-                    }
+                if let Some(rustc) = rustc {
+                    collector.add_config(rustc.workspace_root(), rustc.build_data_config().clone());
                 }
             }
             _ => {}
diff --git a/crates/rust-analyzer/src/cli/analysis_bench.rs b/crates/rust-analyzer/src/cli/analysis_bench.rs
index 104f2e8a20e..3bd7e678d3f 100644
--- a/crates/rust-analyzer/src/cli/analysis_bench.rs
+++ b/crates/rust-analyzer/src/cli/analysis_bench.rs
@@ -68,9 +68,6 @@ impl BenchCmd {
         let load_cargo_config = LoadCargoConfig {
             load_out_dirs_from_check: self.load_output_dirs,
             with_proc_macro: self.with_proc_macro,
-            // This will currently never have rustcSource set, however if in
-            // future it does this will handle that case
-            run_rustc_build_scripts: true,
         };
         let (mut host, vfs, _proc_macro) =
             load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?;
diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs
index 5a843296083..ad0759bdad8 100644
--- a/crates/rust-analyzer/src/cli/analysis_stats.rs
+++ b/crates/rust-analyzer/src/cli/analysis_stats.rs
@@ -63,9 +63,6 @@ impl AnalysisStatsCmd {
         let load_cargo_config = LoadCargoConfig {
             load_out_dirs_from_check: self.load_output_dirs,
             with_proc_macro: self.with_proc_macro,
-            // This will currently never have rustcSource set, however if in
-            // future it does this will handle that case
-            run_rustc_build_scripts: true,
         };
         let (host, vfs, _proc_macro) =
             load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?;
diff --git a/crates/rust-analyzer/src/cli/diagnostics.rs b/crates/rust-analyzer/src/cli/diagnostics.rs
index e1966b5a797..8b985716b03 100644
--- a/crates/rust-analyzer/src/cli/diagnostics.rs
+++ b/crates/rust-analyzer/src/cli/diagnostics.rs
@@ -34,13 +34,7 @@ pub fn diagnostics(
     with_proc_macro: bool,
 ) -> Result<()> {
     let cargo_config = Default::default();
-    let load_cargo_config = LoadCargoConfig {
-        load_out_dirs_from_check,
-        with_proc_macro,
-        // This will currently never have rustcSource set, however if in
-        // future it does this will handle that case
-        run_rustc_build_scripts: true,
-    };
+    let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check, with_proc_macro };
     let (host, _vfs, _proc_macro) =
         load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
     let db = host.raw_database();
diff --git a/crates/rust-analyzer/src/cli/load_cargo.rs b/crates/rust-analyzer/src/cli/load_cargo.rs
index 3d7b5031a41..310c36904e0 100644
--- a/crates/rust-analyzer/src/cli/load_cargo.rs
+++ b/crates/rust-analyzer/src/cli/load_cargo.rs
@@ -14,7 +14,6 @@ use vfs::{loader::Handle, AbsPath, AbsPathBuf};
 use crate::reload::{ProjectFolders, SourceRootConfig};
 
 pub struct LoadCargoConfig {
-    pub run_rustc_build_scripts: bool,
     pub load_out_dirs_from_check: bool,
     pub with_proc_macro: bool,
 }
@@ -54,7 +53,7 @@ pub fn load_workspace(
 
     let build_data = if config.load_out_dirs_from_check {
         let mut collector = BuildDataCollector::default();
-        ws.collect_build_data_configs(&mut collector, config.run_rustc_build_scripts);
+        ws.collect_build_data_configs(&mut collector);
         Some(collector.collect(progress)?)
     } else {
         None
@@ -137,11 +136,8 @@ mod tests {
     fn test_loading_rust_analyzer() -> Result<()> {
         let path = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap().parent().unwrap();
         let cargo_config = Default::default();
-        let load_cargo_config = LoadCargoConfig {
-            load_out_dirs_from_check: false,
-            with_proc_macro: false,
-            run_rustc_build_scripts: false,
-        };
+        let load_cargo_config =
+            LoadCargoConfig { load_out_dirs_from_check: false, with_proc_macro: false };
         let (host, _vfs, _proc_macro) =
             load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
 
diff --git a/crates/rust-analyzer/src/cli/ssr.rs b/crates/rust-analyzer/src/cli/ssr.rs
index 8cc4eefc200..79f426fff15 100644
--- a/crates/rust-analyzer/src/cli/ssr.rs
+++ b/crates/rust-analyzer/src/cli/ssr.rs
@@ -9,13 +9,8 @@ use ide_ssr::{MatchFinder, SsrPattern, SsrRule};
 pub fn apply_ssr_rules(rules: Vec<SsrRule>) -> Result<()> {
     use ide_db::base_db::SourceDatabaseExt;
     let cargo_config = Default::default();
-    let load_cargo_config = LoadCargoConfig {
-        load_out_dirs_from_check: true,
-        with_proc_macro: true,
-        // This will currently never have rustcSource set, however if in
-        // future it does this will handle that case
-        run_rustc_build_scripts: true,
-    };
+    let load_cargo_config =
+        LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
     let (host, vfs, _proc_macro) =
         load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
     let db = host.raw_database();
@@ -41,13 +36,8 @@ pub fn search_for_patterns(patterns: Vec<SsrPattern>, debug_snippet: Option<Stri
     use ide_db::base_db::SourceDatabaseExt;
     use ide_db::symbol_index::SymbolsDatabase;
     let cargo_config = Default::default();
-    let load_cargo_config = LoadCargoConfig {
-        load_out_dirs_from_check: true,
-        with_proc_macro: true,
-        // This will currently never have rustcSource set, however if in
-        // future it does this will handle that case
-        run_rustc_build_scripts: true,
-    };
+    let load_cargo_config =
+        LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
     let (host, _vfs, _proc_macro) =
         load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
     let db = host.raw_database();
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index cbec8fce24c..36713670250 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -49,8 +49,6 @@ config_data! {
         /// Run build scripts (`build.rs`) for more precise code analysis.
         cargo_runBuildScripts |
         cargo_loadOutDirsFromCheck: bool = "false",
-        /// Disable running build scripts (`build.rs`) for the `rustc_private` crates in `rustcSource`.
-        cargo_disableRustcBuildScripts: bool = "false",
         /// Do not activate the `default` feature.
         cargo_noDefaultFeatures: bool    = "false",
         /// Compilation target (target triple).
@@ -484,9 +482,6 @@ impl Config {
     pub fn run_build_scripts(&self) -> bool {
         self.data.cargo_runBuildScripts || self.data.procMacro_enable
     }
-    pub fn run_rustc_build_scripts(&self) -> bool {
-        self.run_build_scripts() && !self.data.cargo_disableRustcBuildScripts
-    }
     pub fn cargo(&self) -> CargoConfig {
         let rustc_source = self.data.rustcSource.as_ref().map(|rustc_src| {
             if rustc_src == "discover" {
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index da02be2dec7..aa8504c3d51 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -340,10 +340,7 @@ impl GlobalState {
         if self.config.run_build_scripts() && workspace_build_data.is_none() {
             let mut collector = BuildDataCollector::default();
             for ws in &workspaces {
-                ws.collect_build_data_configs(
-                    &mut collector,
-                    self.config.run_rustc_build_scripts(),
-                );
+                ws.collect_build_data_configs(&mut collector);
             }
             self.fetch_build_data_request(collector)
         }
diff --git a/docs/user/generated_config.adoc b/docs/user/generated_config.adoc
index 602c9432e03..1dbf2a611d6 100644
--- a/docs/user/generated_config.adoc
+++ b/docs/user/generated_config.adoc
@@ -12,8 +12,6 @@
  List of features to activate.
 [[rust-analyzer.cargo.runBuildScripts]]rust-analyzer.cargo.runBuildScripts (default: `false`)::
  Run build scripts (`build.rs`) for more precise code analysis.
-[[rust-analyzer.cargo.disableRustcBuildScripts]]rust-analyzer.cargo.disableRustcBuildScripts (default: `false`)::
- Disable running build scripts (`build.rs`) for the `rustc_private` crates in `rustcSource`.
 [[rust-analyzer.cargo.noDefaultFeatures]]rust-analyzer.cargo.noDefaultFeatures (default: `false`)::
  Do not activate the `default` feature.
 [[rust-analyzer.cargo.target]]rust-analyzer.cargo.target (default: `null`)::
diff --git a/editors/code/package.json b/editors/code/package.json
index 82011bb4455..1987364bc02 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -413,11 +413,6 @@
                     "default": false,
                     "type": "boolean"
                 },
-                "rust-analyzer.cargo.disableRustcBuildScripts": {
-                    "markdownDescription": "Disable running build scripts (`build.rs`) for the `rustc_private` crates in `rustcSource`.",
-                    "default": false,
-                    "type": "boolean"
-                },
                 "rust-analyzer.cargo.noDefaultFeatures": {
                     "markdownDescription": "Do not activate the `default` feature.",
                     "default": false,